【问题标题】:Google bigquery - update sql?谷歌 bigquery - 更新 sql?
【发布时间】:2015-09-16 21:45:51
【问题描述】:

您似乎可以在 bigquery 中执行 select sql,但您可以通过 api 或从他们的 Web 控制台仅更新表中的某些行吗?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    目前 BigQuery 仅接受 SELECT 语句。需要通过 API、Web UI 或 CLI 更新数据。

    【讨论】:

      【解决方案2】:

      BigQuery 是一种WORM 技术(设计上只能附加)。它在我看来,你不知道这件事,因为没有像 UPDATEDELETE 行这样的选项。

      【讨论】:

      • 我在查看附加示例,似乎每个人都从云存储中获取 csv,然后附加到表中。是否可以跳过它并直接发布到 bigquery 以附加到现有表?
      • 是的,通过 API 使用流式插入。
      【解决方案3】:

      要删除数据,您可以在没有所需行的情况下重新实现表:

      SELECT *
      FROM [mytable]
      WHERE id NOT IN (SELECT id FROM [rows_to_delete]
      

      要更新数据,您可以遵循类似的过程:

      SELECT * FROM (
        SELECT *
        FROM [mytable]
        WHERE id NOT IN (SELECT id FROM [rows_to_update]
      ), (
        SELECT * 
        FROM [rows_to_update]
      )
      

      与其他分析数据库 AFAIK 上的本机更新/删除相比,在 BigQuery 中重新实现表已经足够快了。

      【讨论】:

        猜你喜欢
        • 2013-09-22
        • 2020-11-25
        • 1970-01-01
        • 2012-05-13
        • 2023-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多