将参数化的 BigQuery 魔法分配给 Jupyter 中的变量
Posted
技术标签:
【中文标题】将参数化的 BigQuery 魔法分配给 Jupyter 中的变量【英文标题】:Assign parameterised BigQuery magic to variable in Jupyter 【发布时间】:2017-12-13 07:39:59 【问题描述】:如果有参数,我如何在 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
,在整个表达式周围添加括号或大括号,但似乎没有任何效果。有人有什么想法吗?
examples 中也没有示例,除了 Python API,这对于应该相当标准的东西来说似乎有点混乱。
【问题讨论】:
【参考方案1】:您可以使用魔术命令在一个单元格中定义查询。 但随后要执行查询并提供参数值,请在另一个单元格中不使用魔术命令:
# 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()
【讨论】:
以上是关于将参数化的 BigQuery 魔法分配给 Jupyter 中的变量的主要内容,如果未能解决你的问题,请参考以下文章