我想根据此处的文档使用Google App Scripts触发Google Big Query查询:
https://developers.google.com/apps-script/advanced/bigquery#reference
由于我的查询使用新的DML功能,因此需要使用非遗留SQL。
这可以使用Google App Script吗?如何指定非遗留SQL?
答案 0 :(得分:2)
我不相信您需要在查询文本中使用#StandardSQL
。使用https://developers.google.com/apps-script/advanced/bigquery#reference上的示例代码作为参考,只需更改:
var request = {
query: 'SELECT TOP(word, 300) AS word, COUNT(*) AS word_count ' +
'FROM publicdata:samples.shakespeare WHERE LENGTH(word) > 10;'
};
为:
var request = {
query: 'SELECT APPROX_TOP_COUNT(word, 300) AS word, COUNT(*) AS word_count ' +
'FROM `publicdata.samples.shakespeare` WHERE LENGTH(word) > 10;',
useLegacySql = false
};
具体来说,您需要将useLegacySql
密钥添加到请求中。
答案 1 :(得分:1)
可以在不更改代码的情况下强制执行标准SQL。 只需确保查询的第一行是
#StandardSQL
并且BigQuery会将查询的其余部分视为标准SQL
答案 2 :(得分:1)
确保您的第一行查询
#StandardSQL
select 1;
答案 3 :(得分:0)
接受的答案中的非常小更正。 (需要分号,不等于符号)
应该是
useLegacySql:false
不是
useLegacySql = false