google-bigquery - 如何使用 google.datalab.bigquery 从 DataLab 笔记本查询 BigQuery 表?

标签 google-bigquery google-cloud-datalab google-cloud-platform

我在 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 Guidegoogle.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/

相关文章:

google-bigquery - Datalab 创建返回 STRUCT 的 BigQuery UDF

node.js - 发布到 gcloud pubsub 时从未调用回调

google-cloud-platform - Google Cloud Dataprep 导入配方

sql - 在 BigQuery 中按周分割的最佳方法

python-3.x - 在将Pandas数据帧插入BigQuery表中的同时处理NaN值

google-cloud-datalab - 无法部署 Google Cloud Datalab - 非美国区域中的应用程序

python - 我是否需要清理/删除在部署我的 Cloud Run 实例时创建的图像?

javascript - 如何在浏览器中显示从云存储下载的图片?

google-bigquery - 如果我在流式传输之前先删除表并先创建表,Google BigQuery 流式传输有时会失败

firebase - user_pseudo_id与 session ID相同吗?如何按 session 对所有事件进行分组? -Firebase BigQuery