Big Query Streaming API使用insertId覆盖行

时间:2016-07-21 06:48:41

标签: streaming google-bigquery

使用Big Query流式api并在每一行上设置insertId时,我们可以通过执行具有相同insertId的后续插入来更新(覆盖)行。

documentation中未提及此行为,因为只有状态:

  

BigQuery使用insertId属性尽力去除重复数据。

Big Query是否总是用相同的insertId覆盖行?

这有可能用于更新数据吗?

1 个答案:

答案 0 :(得分:2)

文档:文档所说的(或至少暗示)"重复数据删除":它假设使用相同insertId发送的数据是相同的,因此将只插入一份。但请注意,这是最好的努力,不能保证。

覆盖:否,并且由于多种因素:它只是尽力而为,您无法控制将保留哪些数据(更旧或更新),并且它仅适用于以下数据流缓冲区。一旦提交了数据,重复数据删除机制就不再生效了。