【问题标题】:BigQuery standard sql not deleted?BigQuery 标准 sql 没有被删除?
【发布时间】:2019-01-13 10:56:58
【问题描述】:

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

我的查询:

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

结果:

错误:UPDATEDELETE 对表 dataset.events1 的语句会影响流缓冲区中的行,这是不受支持的。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    根据BQ docs

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

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

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

    【讨论】:

    • *谢谢 :) *
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多