我知道这个问题是在不久前以另一种形式提出的。但是现在BQ允许在分区表上使用DML,因此了解何时刷新流缓冲区更重要,以便我们可以在表上执行DML进行维护。
现在,这非常重要,因为
现在,由于我们正在为GDPR执行某种哈希处理,因此我必须更新所有表。
如果我无法运行DML,则必须通过加入参考表来重新声明200 * 1500分区。
如果我可以运行DML,则只需要运行1500 udpate语句即可。
我已经停止了流传输,并且等待了90分钟以上,但由于该表具有流缓存,因此仍然出现无法运行DML的错误。如有您自己的经验,我们将不胜感激。
显然,BigQuery 现在允许使用流缓冲区更新分区表的旧分区。但不在流缓冲区本身上。
例如 :
update
`dataset.table_name`
set column = 'value'
where _PARTITIONTIME = '2018-05-01'
Run Code Online (Sandbox Code Playgroud)
做工精美。
但
update
`dataset.table_name`
set column = 'value'
where _PARTITIONTIME is null
Run Code Online (Sandbox Code Playgroud)
不起作用并失败并出现以下错误:
对表的 UPDATE 或 DELETE 语句
dataset.table_name
会影响流缓冲区中的行,这是不支持的
归档时间: |
|
查看次数: |
3099 次 |
最近记录: |