Datalab 到 BigQuery - 将变量值插入 SQL
Datalab to BigQuery - Inserting variable values into SQL
我正在尝试使用 Google Datalab - BigQuery 魔术命令通过数据实验室笔记本将数据插入 BigQuery table。
当我 运行 这段代码时,它可以很好地处理 table 中出现的数据;
INSERT mydataset.sampletable (word, count)
VALUES('testing', 7)
但是,我希望将字符串 'testing' 和数字 7 放入它们自己的变量中,然后将其插入到 BQ 中。我已经设置:
test = 'testing'
size = 7
然后我尝试 运行
%%bq query
INSERT mydataset.sampletable (word, count)
VALUES (test, size)
这会导致错误消息:"invalidQuery: Unrecognized name: test at [2:9]"
我怎样才能在 SQL 函数中使用我的变量?
谢谢,
您需要使用更正 syntax/notation。你这样做的方式只是向 BigQuery 发出一个直接的 SQL 命令,即它对你试图 set/use 的那些参数一无所知。我进行了测试,以下内容按预期工作(您需要将其拆分为 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次):
我正在尝试使用 Google Datalab - BigQuery 魔术命令通过数据实验室笔记本将数据插入 BigQuery table。 当我 运行 这段代码时,它可以很好地处理 table 中出现的数据;
INSERT mydataset.sampletable (word, count)
VALUES('testing', 7)
但是,我希望将字符串 'testing' 和数字 7 放入它们自己的变量中,然后将其插入到 BQ 中。我已经设置:
test = 'testing'
size = 7
然后我尝试 运行
%%bq query
INSERT mydataset.sampletable (word, count)
VALUES (test, size)
这会导致错误消息:"invalidQuery: Unrecognized name: test at [2:9]" 我怎样才能在 SQL 函数中使用我的变量?
谢谢,
您需要使用更正 syntax/notation。你这样做的方式只是向 BigQuery 发出一个直接的 SQL 命令,即它对你试图 set/use 的那些参数一无所知。我进行了测试,以下内容按预期工作(您需要将其拆分为 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次):