BigQuery标准sql不能删除吗?

时间:2018-08-06 13:04:15

标签: google-bigquery

我无法删除where定义的范围。

我的查询:

delete from `dataset.events1` as t where t.group='error';

结果:

  

错误:表UPDATE上的DELETEdataset.events1语句会影响流缓冲区中的行,这是不支持的。

2 个答案:

答案 0 :(得分:2)

根据BQ docs

  

最近通过流(使用tabledata.insertall方法)写入表的行不能使用UPDATE,DELETE或MERGE语句进行修改。最近的写入通常是最近30分钟内发生的写入。请注意,表中的所有其他行都可以通过使用UPDATE,DELETE或MERGE语句进行修改。

这看起来像您面临的错误。

您可以检查您的表是否通过BigQuery API连接了流缓冲区。

答案 1 :(得分:1)

查询最近流到表中的行以保持数据一致性时,此错误消息被视为expected behavior。基于此,需要等到刷新缓冲区后才能进行此操作,这可能需要90分钟才能用于复制/导出和其他操作,否则您将得到相同的错误。

要验证该表是否具有活动的流缓冲进程,您可以检查tables.get响应并验证其是否包含名为 streamingBuffer 的部分。