BigQuery 流数据无法立即获得

Posted

技术标签:

【中文标题】BigQuery 流数据无法立即获得【英文标题】:BigQuery streaming data not available instantly 【发布时间】:2015-04-10 14:11:38 【问题描述】:

几天以来,我流式传输到 bigquery 的一些数据在成功插入后无法在 bigquery web ui 中立即使用(通常情况下)。

我的用例包括使用插入数千行:

bigquery.tabledata().insertAll(...)

流式插入表的结果是: (我也在检查 insertErrors 以确保如here 所述):

BigQuery insert status : "kind":"bigquery#tableDataInsertAllResponse"
BigQuery insert errors  : null

bigquery web ui 中可用的总行数与插入的总行数不同。

如果有任何帮助,我将不胜感激。

Bigquery 项目详情:

Project ID  : favorable-beach-87616
Table : mtp_UA_xxxx_1_20150410

项目对谷歌库的依赖:

compile 'com.google.api-client:google-api-client:1.19.0'
compile 'com.google.http-client:google-http-client:1.19.0'
compile 'com.google.http-client:google-http-client-jackson2:1.19.0'
compile 'com.google.oauth-client:google-oauth-client:1.19.0'
compile 'com.google.oauth-client:google-oauth-client-servlet:1.19.0'
compile 'com.google.apis:google-api-services-bigquery:v2-rev171-1.19.0'
compile 'com.google.api-client:google-api-client:1.17.0-rc'

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

当您说 Web UI 中可用的总行数时,您是指在表格的“详细信息”窗格中显示的行数,或者如果您执行 @ 则返回的行数987654321@查询?

如果是前者,这是意料之中的,因为该计数器仅返回已刷新到长期存储的行数(与流数据最初写入的短期存储缓冲区相反)。这确实令人困惑,我们正在努力解决。

如果是后者,行不会出现在查询中,这更令人担忧。如果是这种情况,请告诉我们,我们会进行调查。

【讨论】:

我说的是我通过“SELECT COUNT(*)”查询获得的总行数。谢谢你的帮助。 您好我有一个类似的问题,我使用 Python insertAll() 将数据流式传输到表中,一旦我将数据转储到表中(返回成功)我无法使用 Web UI 看到数据,但是如果我运行查询来查询目标表,它会返回我插入的行,只是不会显示在 Web UI 和表摘要上(表摘要显示该表中有 0 行) @CharlesChow - 请提出不同的问题;我只是在搜索其他内容时无意中看到了您的评论。

以上是关于BigQuery 流数据无法立即获得的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery AEAD 功能的密钥集管理最佳实践 [关闭]

在流数据仍在缓冲区中时复制 bigquery 表

BigQuery 视图可以引用来自不同数据集/项目的其他表和视图吗?

使用 Apache Beam 向 BigQuery 传播插入时如何指定 insertId

Bigquery:检查流期间的重复项

是否可以使用架构自动检测加载 BigQuery 但修改自动检测的架构?