【问题标题】:BigQuery UPDATE or DELETE DMLBigQuery 更新或删除 DML
【发布时间】:2017-08-16 15:42:34
【问题描述】:

最近通过 BigQuery Streaming 写入的表 (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 但是,一旦我以某种方式删除了所有这些记录,可能会在一些延迟之后。

什么是流缓冲区?我什么时候可以修改我的表?如果我使用创建表或从其他来源导出数据的 JOB,我可以运行 UPDATE/DELETE DDL 吗?

【问题讨论】:

标签: google-bigquery


【解决方案1】:

Streamed data 可在第一次流插入表后几秒钟内进行实时分析,但最长可能需要 90 分钟才能用于复制/导出和其他操作。您可能需要等待最多 90 分钟,以便所有缓冲区都保留在集群上。您可以使用查询来查看流缓冲区是否为空或不像您提到的那样。

如果您使用加载作业创建表,您将没有流缓冲区。

【讨论】:

    猜你喜欢
    • 2018-02-06
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2021-05-08
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多