首页 > 解决方案 > 以增量方式将数据从 GCP Datastore 移动到 BigQuery 的最佳做法

问题描述

我们正在从 Datastore 数据源构建我们的数据仓库解决方案。我们希望在预定义的时间间隔内将新插入/更新/删除的数据存储实体加载到 BigQuery 中以进行分析。

似乎有几种选择:

  1. 进行全类备份并将数据加载到 BigQuery 中。以及 BigQuery 中的重复数据删除。这在概念上非常简单,但是每次加载/处理所有数据对我来说似乎效率很低。

  2. 执行操作时发布所有新的/更新的/删除的实体,并让 Dataflow 订阅和 TL 到 BigQuery。

  3. 在实体上具有最后修改的时间戳,并仅提取在指定时间范围内修改的那些实体。我们想采用这个选项,但是删除的记录似乎有问题,我们必须执行软删除吗?

关于最佳实践的任何建议?

标签: google-bigquerygoogle-cloud-datastore

解决方案


我们已经实施了另一种选择:)

您对所有操作进行 BQ 流式插入(最好使用基于插入时间的分区),然后 - 如果需要,您可以生成合并表(您有每个记录的单个实例 - 因此您正在考虑正确更新/删除)经常。

我发现有趣的是,这张包含所有(只是流式传输的)非合并数据的表可能会提供一些非常有趣的见解——比如更新/删除模式——当你合并时它们会消失。


推荐阅读