我在 DataLab 笔记本中有以下代码:
import google.datalab.bigquery as bq
%bq query
SELECT count(id) FROM 'rtda.tweets'
它返回错误:
invalidQuery: Syntax error: Unexpected string literal 'rtda.tweets' at [1:23]
通过 bigquery schema 命令正确返回 BiqQuery 表架构:
%bigquery schema --table "rtda.tweets"
name type mode description
created_at TIMESTAMP NULLABLE
id INTEGER NULLABLE
id_str STRING NULLABLE
(...)
在 BigQuery 控制台中,我能够成功执行查询:
SELECT count(id) FROM [rtda.tweets];
问题是我无法在 DataLab 笔记本中执行此命令。
最佳答案
上面显示的查询是使用旧版 SQL 定义的,但标准 SQL 是根据 BigQuery docs 查询 BigQuery 中存储的数据的首选 SQL 方言。 。根据 datalab to google.datalab Migration Guide ,google.datalab
不再支持旧版 SQL。您可以将查询转换为标准 SQL 吗?
对于标准 SQL,将表名称周围的引号 '
更改为反引号
%bq query
SELECT count(id) FROM `rtda.tweets`
此功能在 BigQuery 控制台中起作用的原因是该控制台仍然支持旧版 SQL,而 google.datalab
则不支持。
关于google-bigquery - 如何使用 google.datalab.bigquery 从 DataLab 笔记本查询 BigQuery 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719414/