首页 文章

BigQuery到Hadoop集群 - 如何传输数据?

提问于
浏览
2

我有一个Google Analytics(GA)帐户,可以跟踪应用的用户活动 . 我设置了BigQuery,以便可以访问原始GA数据 . 数据每天都从GA转到BigQuery .

我有一个python应用程序以编程方式查询BigQuery API . 这个应用程序给我所需的响应,取决于我要查询的内容 .

我的下一步是从BigQuery获取此数据并将其转储到Hadoop集群中 . 我想理想地使用数据创建一个配置表 . 我想围绕python应用程序构建类似ETL过程的东西 . 例如,我每天运行运行python应用程序的etl进程,并将数据导出到集群 .

最终,这个ETL过程应该放在Jenkins上,并且应该能够在 生产环境 系统上运行 .

在规划此ETL过程时,我需要考虑哪些架构/设计/一般因素?

关于我应该怎么做的任何建议?我有兴趣以最简单和可行的方式做到这一点 .

提前致谢 .

2 回答

  • 3

    从BigQuery到Hadoop的最简单方法是使用官方的Google BigQuery Connector for Hadoop

    https://cloud.google.com/hadoop/bigquery-connector

    此连接器定义BigQueryInputFormat类 .

    • 编写查询以选择适当的BigQuery对象 .

    • 在Hadoop节点之间均匀分割查询结果 .

    • 将拆分解析为java对象以传递给映射器 . Hadoop Mapper类接收每个选定BigQuery对象的JsonObject表示 .

    (它使用Google Cloud Storage作为BigQuery数据和Hadoop消耗的分割之间的中介)

  • 2

    看看Oozie . 它似乎符合您的要求 . 它具有工作流引擎,调度支持和shell脚本以及hive支持 .

    在安装和部署方面,它通常是hadoop发行版的一部分,但可以单独安装 . 它具有db作为持久层的依赖性 . 这可能需要一些额外的努力 .

    它有Web UI和rest API . 如果需要,可以自动管理和监控作业 .

相关问题