目前,我们将整个文件发送到云中(谷歌云存储),导入到BigQuery中,并进行简单的删除/替换。然而,随着文件大小的增长,我们的网络团队并不特别喜欢在其他etl也在尝试运行时我们所占用的带宽。因此,我们只希望发送更改/删除的行。 试图找到路径/帮助文档如何做到这一点。Scope——我将从一个简单的例子开始。我们有一个包含3亿条记录的大表。与其每天晚上发送3亿条记录,不如发送超过X万条已更改/删除的记录。然后,我需要将更改/删除的记录合并到BigQuery表中。 我们目前使用Node JS从存储迁移到BigQuery,使用Python通过编写器在BigQuery中调度本地表更新。 希望能找到正确的方向,知道如何开始这条路。 问题来源StackOverflow 地址:/questions/59381483/bigquery-update-tables-with-changed-deleted-records
在每次更新到BigQuery时都将完整的行数据流化。 让表容纳同一主实体的多行。 写一个视图,如table_last,选择最近的行。 通过这种方式,您可以对真实数据进行几乎实时的查询。 您可以通过运行一个只使用最新行重写self表的查询来重复数据。 另一种方法是,如果您有一个final表,以及一个您流进的表,并且有一个每X分钟运行一次的MERGE语句,以将更新从流进的表写到final表。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。