首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌云数据流ETL (Datastore -> Transform -> BigQuery)

谷歌云数据流ETL (Datastore -> Transform -> BigQuery)
EN

Stack Overflow用户
提问于 2015-08-07 14:06:23
回答 1查看 5.6K关注 0票数 8

我们有一个运行在Google上的应用程序,它使用Datastore作为持久性后端。目前,应用程序大多具有“OLTP”特性和一些基本的报告。在实现报告时,我们体验到使用Datastore和GQL处理大量数据(数百万个对象)非常困难。为了使用适当的报表和业务智能特性来增强我们的应用程序,我们认为最好设置一个ETL过程,将数据从数据存储转移到BigQuery。

最初,我们考虑将ETL流程实现为App cron作业,但它看起来也可以用于此。我们对程序的设置有以下要求:

  • 能够使用BigQuery的非流API将所有现有数据推送到BigQuery。
  • 完成上述操作后,每当在Datastore中更新/创建任何新数据时,使用流式API将其推送到BigQuery。

我的问题是

  1. Cloud是否是实现此管道的合适人选?
  2. 我们能推动现有的数据吗?其中一些有数百万件物品。
  3. 应该采取什么正确的方法来实现它?我们正在考虑两种办法。第一种方法是遍历pub/sub,即对于现有数据,创建一个cron作业并将所有数据推送到pub/sub。对于任何新的更新,在DataStore中同时将数据推送到pub/sub。数据流管道将从pub/sub中选择它并将其推送到BigQuery。第二种方法是在Dataflow中创建一个批处理管道,该管道将查询DataStore并将任何新数据推送到BigQuery。

问题是这两种方法可行吗?哪一个更划算?还有比以上两种方法更好的方法吗?

谢谢,

rizTaak

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-07 16:48:47

数据流绝对可以用于此目的。事实上,Dataflow的可伸缩性应该使这个过程更快、更容易。

这两种方法都应该有效--我倾向于使用第二种方法,即使用批处理管道移动现有数据,然后使用流管道通过Cloud Pub/Sub处理新数据。除了数据移动之外,Dataflow允许对数据本身执行任意分析/操作。

也就是说,BigQuery和Datastore可以直接连接。例如,参见Loading Data From Cloud Datastore文档中的BigQuery文档。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31879688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档