Google bigquery 如何可靠地达到BQ中的收敛点?

Google bigquery 如何可靠地达到BQ中的收敛点?,google-bigquery,google-cloud-python,Google Bigquery,Google Cloud Python,据我所知,Google Big Query遵循“最终一致性”架构,这意味着表创建、模式更改和数据导入是非同步的 我正在构建一个系统,该系统可以同步两个表,它们的更新率很高(按计划)。后者根本不适合更新,所以我遵循删除所有以前的数据并重新导入所有数据的想法(此表的数据量很低,所以现在看来这是可行的)。 我面临着重新创建表的问题:删除现有表、创建新表(提供模式)和插入数据(通过流式插入,AFAIK) 我遇到了不一致的情况,大多数情况下(并非总是)结果是空表,而是实际的模式。据我所知,如果流式插入仍然

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

我正在构建一个系统,该系统可以同步两个表,它们的更新率很高(按计划)。后者根本不适合更新,所以我遵循删除所有以前的数据并重新导入所有数据的想法(此表的数据量很低,所以现在看来这是可行的)。 我面临着重新创建表的问题:删除现有表、创建新表(提供模式)和插入数据(通过流式插入,AFAIK)

我遇到了不一致的情况,大多数情况下(并非总是)结果是空表,而是实际的模式。据我所知,如果流式插入仍然知道旧表,在其中插入数据,然后同步删除/重新创建,则可能会发生这种情况


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

为什么需要删除该表并再次流式传输数据?为什么不使用
创建或替换表。。。在选择时…
?是否会绕过“偶然性”?当您实际删除表并重新创建它时,您会在后端得到一个新的表标识符,并且流式插入将在大约10分钟后转到新表。如果您进行“就地”替换,那么您将拥有相同的表ID。这与在请求中使用
WRITE\u TRUNCATE
选项相同。