gpt4 book ai didi

google-bigquery - Google BQ - 如何更新插入表中的现有数据?

转载 作者:行者123 更新时间:2023-12-03 03:29:01 27 4
gpt4 key购买 nike

我正在使用 Python 客户端库在 BigQuery 表中加载数据。我需要更新这些表中的一些已更改的行。但我不知道如何正确更新它们?我想要一些类似的 UPSERT 函数 - 仅当行不存在时才插入行,否则 - 更新现有行。

在表中使用带有校验和的特殊字段(并在加载过程中比较总和)是否是正确的方法?如果有好的想法,如何用Python客户端解决这个问题? (据我所知,它无法更新现有数据)

请解释一下,最佳做法是什么?

最佳答案

BigQuery 现在支持 MERGE,它可以将 INSERTUPDATE 合并到一个原子操作中,即 UPSERT .

使用 Mikhail 的示例表,它看起来像:

MERGE merge_example.table_data T
USING merge_example.table_changes S
ON T.id = S.id
WHEN MATCHED THEN
UPDATE SET value = s.value
WHEN NOT MATCHED THEN
INSERT (id, value) VALUES(id, value)

enter image description here

参见here .

关于google-bigquery - Google BQ - 如何更新插入表中的现有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177241/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com