Datalab to BigQuery - 将变量值插入SQL

问题描述 投票:1回答:1

我正在尝试使用Google Datalab - BigQuery magic命令通过datalab笔记本将数据插入到BigQuery表中。当我运行此代码时,它可以正常显示在表中的数据;

INSERT mydataset.sampletable (word, count)
VALUES('testing', 7)

但是,我想在自己的变量中使用字符串'testing'和number 7,然后我将其插入到BQ中。我已经设定:

test = 'testing'
size = 7

然后我试着跑

%%bq query
INSERT mydataset.sampletable (word, count)
VALUES (test, size)

这会导致错误消息:“invalidQuery:无法识别的名称:在[2:9]测试”如何在SQL函数中使用我的变量?

谢谢,

python sql google-bigquery jupyter-notebook google-cloud-datalab
1个回答
1
投票

您需要使用更正语法/表示法。你这样做的方法就是向BigQuery发出一个直接的SQL命令,即它对你试图设置/使用的那些参数一无所知。我测试了以下按预期工作(您需要将其拆分为2个Datalab命令):

%%bq query -n params_test
INSERT `grey-sort-challenge.dataflow_on_a_tram.melbourne_titles` (year,month,day,wikimedia_project,language,title,views)
VALUES(2017,1,1,'wp','en',@title,100)

%%bq execute -q params_test
parameters:
- name: title
  type: STRING
  value: the_dude_abides_in_melbourne

结果(我在Datalab中运行了4次):

enter image description here

herehere

© www.soinside.com 2019 - 2024. All rights reserved.