【发布时间】:2019-01-13 10:56:58
【问题描述】:
我无法删除where定义的范围。
我的查询:
delete from `dataset.events1` as t where t.group='error';
结果:
错误:
UPDATE或DELETE对表dataset.events1的语句会影响流缓冲区中的行,这是不受支持的。
【问题讨论】:
标签: google-bigquery
我无法删除where定义的范围。
我的查询:
delete from `dataset.events1` as t where t.group='error';
结果:
错误:
UPDATE或DELETE对表dataset.events1的语句会影响流缓冲区中的行,这是不受支持的。
【问题讨论】:
标签: google-bigquery
根据BQ docs:
最近通过流(使用 tabledata.insertall 方法)写入表的行无法使用 UPDATE、DELETE 或 MERGE 语句进行修改。最近的写入通常是最近 30 分钟内发生的写入。请注意,表中的所有其他行仍可通过使用 UPDATE、DELETE 或 MERGE 语句进行修改。
这看起来像您面临的错误。
您可以检查您的表是否通过BigQuery API 附加了流缓冲区。
【讨论】:
在查询最近流入表中的行以保持数据一致性时,此错误消息被视为expected behavior。基于此,需要等待缓冲区刷新,这可能需要长达 90 分钟才能用于复制/导出和其他操作,否则您会收到相同的错误。
要验证表是否有活动的流缓冲区进程,您可以检查 tables.get 响应并验证它是否包含名为 streamingBuffer 的部分。
【讨论】: