bigquery到hadoop集群-如何传输数据?

5jvtdoz2  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(459)

我有一个google analytics(ga)帐户,跟踪应用程序的用户活动。我设置了bigquery以便可以访问原始的ga数据。数据每天都从ga传给bigquery。
我有一个python应用程序,它以编程方式查询bigqueryapi。这个应用程序正在给我所需的响应,这取决于我所查询的内容。
我的下一步是从bigquery获取这些数据并将其转储到hadoop集群中。理想情况下,我希望使用这些数据创建一个配置单元表。我想围绕python应用程序构建一个类似etl的过程。例如,我每天运行etl进程,该进程运行python应用程序并将数据导出到集群。
最终,这个etl过程应该放在jenkins上,并且应该能够在生产系统上运行。
在规划这个etl过程时,我需要考虑哪些体系结构/设计/一般因素?
我该怎么做有什么建议吗?我对用最简单可行的方法来做这件事很感兴趣。
提前谢谢。

ttisahbt

ttisahbt1#

看看oozie。它似乎符合你的要求。它有工作流引擎、调度支持、shell脚本和配置单元支持。
在安装和部署方面,它通常是hadoop发行版的一部分,但是可以单独安装。它依赖于db作为持久层。这可能需要一些额外的努力。
它有webui和restapi。如果需要,管理和监视作业可以自动化。

1cosmwyk

1cosmwyk2#

从bigquery到hadoop最简单的方法是使用官方的googlebigqueryconnector for hadoop
https://cloud.google.com/hadoop/bigquery-connector
此连接器定义bigqueryinputformat类。
编写查询以选择适当的bigquery对象。
在hadoop节点之间平均分割查询结果。
将拆分解析为java对象以传递给Map器。hadoopMap器类接收每个选定bigquery对象的jsonobject表示。
(它使用google云存储作为bigquery数据和hadoop使用的拆分之间的中介)

相关问题