我有一个用例,其中我执行以下操作:
在上面的用例中,我遇到了一个问题,即我运行的查询在聚合数据中存在一些差异。当我稍后从BigQuery的Web UI执行相同的查询时,聚合很好。我怀疑一些插入的行不适用于查询。
我阅读了有关BigQuery数据可用性的this文档。我对此有以下疑问:
有人可以澄清这些吗?
答案 0 :(得分:2)
您可以使用_PARTITIONTIME is null
来检测缓冲区中的哪些行。实际上,你可以使用这个逻辑将UNION这个缓冲区扩展到你想要的日期(比如今天)。你可以在一些读取缓冲区的逻辑中进行连接,如果时间为空,它将为其余的查询逻辑设置一个时间。
此缓冲区在设计上有点延迟,但如果您需要立即访问数据,则需要使用IS NULL技巧来查询它。
答案 1 :(得分:1)
问题:
以下操作是否受此限制?
Copy the result of a query to another table Exporting the result of a query to a csv file in cloud storage
查询结果可立即用于任何操作(如复制和导出) - 即使该查询已在仍在缓冲区中的流数据上运行。