【发布时间】:2014-09-10 17:06:37
【问题描述】:
我们从安装在客户端的设备生成了一些数据。重复数据存在并且是设计使然,这意味着我们无法在数据生成阶段消除重复数据。我们现在正在研究在流式传输到 Bigquery 时避免重复的可能性(而不是通过稍后执行表复制和删除来清理数据)。也就是说,对于每一条准备流式传输的记录,我们首先检查它是否已经在 Bigquery 中,如果没有,则继续流式传输,如果存在,则不再流式传输。
但这里有一个问题:(引自 [这里]:https://developers.google.com/bigquery/streaming-data-into-bigquery)
数据可用性
第一次进行流式插入时,流式数据在长达两分钟的预热时间内无法访问。在预热期之后,在预热期期间和之后添加的所有流数据都可以立即查询。几个小时不活动后,在下一次插入期间将再次进行预热。
数据最多可能需要 90 分钟才能用于复制和导出操作。
我们的数据将进入不同的 bigquery 表(表名是根据数据的 date_time 动态生成的)。 “第一次发生流插入”是什么意思?是每桌吗?
上面的文档是否意味着我们不能依赖查询结果来检查流过程中的重复?
【问题讨论】:
-
让 BQ 中的重复项并编写您的其他查询以获取最新版本的重复项并不容易。第二个问题,基于它们的重复项?共享列架构和用例。
标签: google-bigquery