使用Big Query流式api并在每一行上设置insertId
时,我们可以通过执行具有相同insertId
的后续插入来更新(覆盖)行。
documentation中未提及此行为,因为只有状态:
BigQuery使用insertId属性尽力去除重复数据。
Big Query是否总是用相同的insertId覆盖行?
这有可能用于更新数据吗?
答案 0 :(得分:2)
文档:文档所说的(或至少暗示)"重复数据删除":它假设使用相同insertId
发送的数据是相同的,因此将只插入一份。但请注意,这是最好的努力,不能保证。
覆盖:否,并且由于多种因素:它只是尽力而为,您无法控制将保留哪些数据(更旧或更新),并且它仅适用于以下数据流缓冲区。一旦提交了数据,重复数据删除机制就不再生效了。