获取Google BigQuery表架构上的锁定或拒绝不向后兼容的架构

时间:2016-06-03 23:03:55

标签: multithreading google-bigquery

有没有办法获取表模式的锁定,和/或拒绝不向后兼容的表模式updates|patches

我有一个分布式应用程序,其中隔离的进程可以写入同一个bigquery表。模式仅以向后兼容的方式更改。如果进程处理的消息产生新的模式版本,则该进程将修补目标表。但是,我绝不想在竞争条件下修补具有较低版本的模式。

理想情景如下:

  • 获取对表格架构的锁定
    • 如果表的当前架构的版本低于最新架构,和/或不是最新架构字段的超集,则将当前架构替换为最新架构。
    • 如果当前架构的版本高于该actor的内存中的最新架构,则下拉当前架构并进行升级。
  • 释放锁定,以便其他演员可以获取并重复处理

谢谢!

1 个答案:

答案 0 :(得分:3)

据我所知 - BigQuery不允许您使用向后不兼容的架构修补表。您将收到错误消息,指出缺少特定字段或类型已更改或类似情况。

在BigQuery中,您只能在表或记录的末尾添加新列。我可能会遗漏一些具体的细节,但高水平应该是正确的,我应该解决你的担忧。

除了上述内容之外,我们还要注意BigQuery是为大规模数据集的交互式分析而量身定制的,而不是设计用于解决特定交易的主题,如锁定