更新BigQuery架构时的延迟



我在更新BigQuery模式时遇到了一些延迟问题。

我有一个接收流插入的表,并且只要需要,模式就会自动更新。问题是,架构更新似乎在一段时间内不会生效,在这段时间内进行的插入会降低新列的值。

我在2016年发现了一个答案,即在变更生效之前,可能会延迟5分钟。

这种情况仍然存在吗?你如何解决这个问题?如果答案是超时,那么在写入新列之前应该等待多长时间?

为了获得更多有意义和有意义的完整信息,我鼓励您阅读这篇优秀的文章,发现Bigquery流式插入生命周期,利用tabledata.insertAllBigquery REST API方法。

事实上,正如文档所说,数据可用性和一致性是实时分析任务中获取数据的最重要要求:

因为BigQuery的流式API是为高插入而设计的速率,对基础表元数据展示的修改最终在与流系统交互时保持一致。在里面大多数情况下,元数据更改在几分钟内传播,但在这段时间API的响应可能反映了桌子

承认这样一个事实,即在某些情况下,元数据更改需要与流接收内联,文档确认了延迟完成这一操作。即使是在某些情况下旨在从表中收集元数据的缓存机制也不能保证数据的更改,即在最短的时间内将流注入引用到不存在的表或整个列。由于最初建立在Dremel模型之上的GCP Bigquery无服务器平台的复杂性,很难估计特定流任务的高吞吐量的延迟时间,因此GCP知识库中没有记录这一点。

同时,在阅读这个Stack线程时,@Sean Chen建议在启动流媒体摄取之前对Bigquery元数据进行更改。

最新更新