【问题标题】:WRITE_TRUNCATE behaviour in Big QueryBig Query 中的 WRITE_TRUNCATE 行为
【发布时间】:2018-02-21 12:56:37
【问题描述】:

我对 Big Query 中的 WRITE_TRUNCATE 行为有疑问。

我有一个大查询表 (T1),我会定期将日志数据附加到该表中(每个日志行一行)。我想要一个数据流作业 (D1) 从该表中读取,删除所有重复行并执行其他数据清理操作,然后将其输出到另一个大查询表 (T2 >),替换此表中可能已存在的任何数据。我相信我可以通过在数据流作业的 BigQuery.IO 接收器中使用 WRITE_TRUNCATE write disposition 来做到这一点。

问题是,如果我有另一个数据流作业 (D2) 从表 T2 读取而作业 D1 正在写入截断到这个表,D2 看到什么数据,即它看到的表是在截断之前还是在截断完成之后的状态。或者它可以在截断期间的任何步骤中看到表格(例如,通过附加新数据的一部分)?

上面链接的 javadoc 表明截断 可能不是 是原子的,而 REST documentation for Big Query 表明它是原子的。

【问题讨论】:

    标签: google-bigquery google-cloud-dataflow


    【解决方案1】:

    REST API 实际上是这里的真实来源,即在 BigQuery 作业成功完成后,更改原子的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多