从 Google Cloud Datastore 到 BigQuery 的增量数据传输
Posted
技术标签:
【中文标题】从 Google Cloud Datastore 到 BigQuery 的增量数据传输【英文标题】:Incremental Data Transfer from Google Cloud Datastore to BigQuery 【发布时间】:2020-02-10 13:09:38 【问题描述】:我们每天都在尝试通过使用 Compute Engine VM 实例将数据从 Google Cloud DataStore 复制到 BigQuery,但是对我来说将整个数据集复制到 BigQuery 的成本非常高,基本上我们只需要更新的数据(已更改的记录仅)我们不想使用 shell 脚本将整个表从数据存储复制到 bigquery。 请帮助我们解决这个问题...
【问题讨论】:
您为什么不尝试仅将更新写入 DataStore,然后使用合并命令将它们带入 BigQuery。 cloud.google.com/bigquery/docs/reference/standard-sql/… 【参考方案1】:当您将数据从数据存储区导出到 Bigquery you cannot append data to an existing table 时。您可以创建新表或覆盖现有表。无论哪种方式,您都必须从数据存储中导出所有实体或特定类型的实体,但不能只导出新数据。
可以在here 找到可以处理从数据存储区导出数据到 Bigquery 的示例脚本。
如果您想降低使用成本: - preemtibale instances 与普通实例相比非常便宜 --> 对于 cron 作业
我发现的另一种方法是this。但我不确定它是否会起作用,因为它是一个旧帖子并且它使用MapReduce API。
【讨论】:
以上是关于从 Google Cloud Datastore 到 BigQuery 的增量数据传输的主要内容,如果未能解决你的问题,请参考以下文章
Apache Beam/Google Dataflow - 将数据从 Google Datastore 导出到 Cloud Storage 中的文件
Google Cloud Datastore备份 - 已弃用?
库 appengine.api.datastore 和 com.google.cloud.datastore 有啥区别?
App Engine 上 Cloud Datastore 的客户端库 - NDB 或 google-cloud-datastore