首页 > 解决方案 > 如何可靠地达到 BQ 中的收敛点?

问题描述

据我所知,Google Big Query 遵循“最终一致性”架构,这意味着表创建、架构更改和数据导入是非同步的。

我正在构建将几个具有高更新率的表同步到 BQ 的系统(按计划)。后者根本不适合更新,所以我遵循删除所有以前的数据并重新导入所有内容的想法(这个表的数据量很低,所以现在这似乎是可行的)。我面临重新创建表的问题:我正在删除现有表,创建新表(提供模式)并插入数据(通过insert_rows,它执行流式插入,AFAIK)。

而且我遇到了不一致,大多数时候(并非总是)以空表结束,但实际模式。据我了解,这可能发生在流式插入仍然知道旧表、在其中插入数据以及稍后同步删除/重新创建的情况下。

所以我的问题是如何可靠地获得表/模式更新收敛到所有节点/区域/等的点?或者,如果有任何其他方法可以可靠地重新导入具有潜在架构更改的数据。

标签: google-bigquerygoogle-cloud-python

解决方案


推荐阅读