谷歌 bigquery - 更新 sql?
Posted
技术标签:
【中文标题】谷歌 bigquery - 更新 sql?【英文标题】:Google bigquery - update sql? 【发布时间】:2015-09-16 21:45:51 【问题描述】:您似乎可以在 bigquery 中执行 select sql,但您可以通过 api 或从他们的 Web 控制台仅更新表中的某些行吗?
【问题讨论】:
【参考方案1】:目前 BigQuery 仅接受 SELECT 语句。需要通过 API、Web UI 或 CLI 更新数据。
【讨论】:
【参考方案2】:BigQuery 是一种WORM 技术(设计上只能附加)。它在我看来,你不知道这件事,因为没有像 UPDATE
或 DELETE
行这样的选项。
【讨论】:
我在查看附加示例,似乎每个人都从云存储中获取 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 中重新实现表已经足够快了。
【讨论】:
以上是关于谷歌 bigquery - 更新 sql?的主要内容,如果未能解决你的问题,请参考以下文章
使用来自 Google BigQuery 的数据更新电子表格不起作用
按时间范围谷歌选择不同的用户组 - bigquery SQL