最近通过BigQuery流(tabledata.insertall)写入的表不能使用UPDATE或DELETE语句进行修改。要检查表中是否有流缓冲区,请检查名为tables.get的部分的streamingBuffer响应。如果没有,则可以使用UPDATE或DELETE语句修改表。
当我试图修改我的表时(最近插入了数据行,几天前创建了表)
delete table_dataset.table1 where true
我有以下错误- Error: UPDATE or DELETE DML statements are not supported over table with streaming buffer
,然而,一旦我删除了所有这些记录,也许是在一些延迟之后。
什么是流缓冲区?我什么时候能修改我的桌子?如果我使用从另一个源创建表或导出数据的作业,我可以运行UPDATE/DELETE DDL吗?
发布于 2017-03-23 13:26:04
流数据可以在第一个流插入到表的几秒钟内进行实时分析,但它可能需要90分钟才能用于复制/导出和其他操作。您可能需要等待长达90分钟,以便将所有缓冲区持久化在集群上。您可以使用查询来查看流缓冲区是否为空或不像您所提到的那样。
如果使用load作业创建表,则不会有流缓冲区。
https://stackoverflow.com/questions/42987009
复制相似问题