关于:https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataavailability
在流式传输之后以编程方式确定表格数据是否可用的最佳方法是什么?
尝试使用以下apis获取Rows和TotalRows时出现意外结果:Jobs.Query,Jobs.GetQueryResults,Tables.Get,Tabledata.List
感谢。
答案 0 :(得分:3)
您可以通过执行Tables.Get()API并查看streamingBuffer.oldestEntryTime值来判断是否在表上刷新了数据。这可以被认为是已经从缓冲区中刷出的数据的高水位标记。
此时间戳之前的任何数据都应该可用于复制,导出和列表操作。
另外,我应该澄清表格中的数据可以在流式传输后立即查询。它仅对表复制,导出和tabledata.list()操作不可用。是的,这很令人困惑,但是,我们也在努力解决这个问题。
对于之前或最近未流式传输的表格,有一个预热时段,新的流式数据不会显示。
有关详细信息,请参阅https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataavailability。