0

我正在嘗試使用Google Datalab-BigQuery魔術命令通過datalab筆記本將數據插入到BigQuery表中。 當我運行這段代碼時,它正常工作,正確顯示錶中的數據;Datalab to BigQuery - 將變量值插入到SQL中

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

不過,我想有自己的變量,我會再插入BQ字符串「測試」和7號。我已設置:

test = 'testing' 
size = 7 

,然後我嘗試運行

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

這將導致一個錯誤信息: 「invalidQuery:無法識別的名稱:在[:9 2]測試」 我怎麼能去關於在SQL函數中使用我的變量?

謝謝,

回答

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

+0

謝謝格雷厄姆,我的作品 – Balkan

+0

酷。很高興它的工作。 –