gpt4 book ai didi

google-bigquery - Google BigQuery 没有主键或唯一约束,如何防止插入重复记录?

转载 作者:行者123 更新时间:2023-12-04 01:58:38 44 4
gpt4 key购买 nike

Google BigQuery 没有主键或唯一约束。

我们不能使用传统的 SQL 选项,例如 insert ignoreinsert on duplicate key update那么如何防止重复记录被插入到 Google BigQuery 中呢?

如果我必须先调用 delete (基于我自己系统中的唯一键)然后插入以防止将重复记录插入到 bigquery 中,那会不会太低效了?我认为插入是最便宜的操作,没有查询,只是追加数据。对于每个插入,如果我必须调用删除,它会太低效并花费我们额外的钱。

根据您的经验,您有什么建议和建议?

bigquery 有主键会很好,但它可能与 bigquery 所基于的算法/数据结构冲突?

最佳答案

因此,让我们首先澄清一些事实。
Bigquery 是一个适用于大型数据集的托管数据仓库,并且它是对传统数据库的补充,而不是替代 .
直到 2020 年初,每天最多只能对表进行 96 次 DML(更新、删除)操作。如此低的限制迫使您将 BQ 视为数据湖。该限制有 been removed但它表明系统的早期设计是围绕“仅附加”的。
因此,在 BigQuery 上,您实际上让所有数据进入,并支持仅附加设计。这意味着按照设计,您有一个数据库,每次更新都会保存一个新行。因此,如果您想使用最新数据,您需要选择最后一行并使用它。
我们实际上利用了我们添加到同一行的每个新更新的见解。例如,我们可以检测最终用户在注册流程中选择他/她的国家需要多长时间。因为我们有一个国家下拉列表,他/她滚动到正确的国家需要一些时间,并且指标显示了这一点,因为我们最终在 BQ 中有两行,选择了一个之前的国家,然后选择了一个国家,并且基于时间选择我们能够优化流程。现在在我们的国家/地区下拉列表中,我们列出了前 5 个最近/最常出现的国家/地区,因此这些用户不再需要滚动并选择一个国家/地区;它更快。

关于google-bigquery - Google BigQuery 没有主键或唯一约束,如何防止插入重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42938662/

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