【发布时间】:2015-09-16 21:45:51
【问题描述】:
您似乎可以在 bigquery 中执行 select sql,但您可以通过 api 或从他们的 Web 控制台仅更新表中的某些行吗?
【问题讨论】:
标签: google-bigquery
您似乎可以在 bigquery 中执行 select sql,但您可以通过 api 或从他们的 Web 控制台仅更新表中的某些行吗?
【问题讨论】:
标签: google-bigquery
目前 BigQuery 仅接受 SELECT 语句。需要通过 API、Web UI 或 CLI 更新数据。
【讨论】:
BigQuery 是一种WORM 技术(设计上只能附加)。它在我看来,你不知道这件事,因为没有像 UPDATE 或 DELETE 行这样的选项。
【讨论】:
要删除数据,您可以在没有所需行的情况下重新实现表:
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 中重新实现表已经足够快了。
【讨论】: