如果Jupyter中有参数,我如何分配BigQuery单元魔术操作的输出?
%%bq execute --query sql_my_query --to-dataframe
parameters:
- name: min_val
type: STRING
value: $min_val
- name: max_val
type: STRING
value: $max_val
我尝试在BQ魔法面前放置变量(例如myvar = %%bq ...
),我尝试使用myvar << %%bq
,在整个表达式周围添加括号或括号但没有似乎工作。有没有人有任何想法?
除了Python API之外,examples中没有任何示例,对于应该相当标准的内容来说,这似乎有些混乱。
答案 0 :(得分:0)
您可以使用magic命令在一个单元格中定义查询。 但是,要执行查询并提供参数值,请在另一个单元格中执行,而无需使用魔术命令:
# in the first cell
%%bq query --name day_extract_query
SELECT EXTRACT(DAY FROM @input_date) AS day
在那之后,使用没有任何魔力的纯python执行
# then, in a second cell
query_params1 = [{ "name": "input_date",
"parameterType": { "type": "DATE" },
"parameterValue": { "value": "2019-01-03" } }]
day1 = day_extract_query.execute(query_params=query_params1).result()