开发者社区> 问答> 正文

BigQuery -更新已更改/删除记录的表

目前,我们将整个文件发送到云中(谷歌云存储),导入到BigQuery中,并进行简单的删除/替换。然而,随着文件大小的增长,我们的网络团队并不特别喜欢在其他etl也在尝试运行时我们所占用的带宽。因此,我们只希望发送更改/删除的行。 试图找到路径/帮助文档如何做到这一点。Scope——我将从一个简单的例子开始。我们有一个包含3亿条记录的大表。与其每天晚上发送3亿条记录,不如发送超过X万条已更改/删除的记录。然后,我需要将更改/删除的记录合并到BigQuery表中。 我们目前使用Node JS从存储迁移到BigQuery,使用Python通过编写器在BigQuery中调度本地表更新。 希望能找到正确的方向,知道如何开始这条路。 问题来源StackOverflow 地址:/questions/59381483/bigquery-update-tables-with-changed-deleted-records

展开
收起
kun坤 2019-12-28 13:46:59 760 0
1 条回答
写回答
取消 提交回答
  • 在每次更新到BigQuery时都将完整的行数据流化。 让表容纳同一主实体的多行。 写一个视图,如table_last,选择最近的行。 通过这种方式,您可以对真实数据进行几乎实时的查询。 您可以通过运行一个只使用最新行重写self表的查询来重复数据。 另一种方法是,如果您有一个final表,以及一个您流进的表,并且有一个每X分钟运行一次的MERGE语句,以将更新从流进的表写到final表。

    2019-12-28 13:47:05
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Facebook Online Schema Change原理和大规模表结构变更最佳实践 立即下载
事务、全局索引、透明分布式 立即下载
Phoenix 全局索引原理与实践 立即下载