前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署

Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署

作者头像
Albert陈凯
发布2018-04-08 11:49:40
9910
发布2018-04-08 11:49:40
举报
文章被收录于专栏:Albert陈凯Albert陈凯

Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署

参考:oozie\package-info.java

项目进度

模块名称

完成情况

用户基本信息分析(MR)�

完成

浏览器信息分析(MR)

完成

地域信息分析(MR)

完成

外链信息分析(MR)

完成

用户浏览深度分析(Hive)

完成

订单分析(Hive)

完成

事件分析(Hive)

完成

MR程序Oozie workflow部署

MR程序有两种方式进行oozie部署, 第一种就是使用oozie的mapreduce action进行部署, 第二种就是使用普通的java action进行部署。 由于我们的mr程序读取的是hbase中的数据结构, 所以我们采用第二种部署方式来进行mr程序的部署操作。

注意:

在我们打包的时候,需要将TransformerBaseRunner类中的initJob方法中的TableMapReduceUtil.initTableMapperJob调用设置为集群运行(最后一个参数为true)。 以及AnalyserLogDataRunner类中run方法中的TableMapReduceUtil.initTableReducerJob设置为集群运行(最后一个参数为true)。

Hive&Sqoop脚本Oozie部署

针对Hive和sqoop脚本,oozie提供了专门的hive action和sqoop action, 但是我们这里采用将hive脚本和sqoop脚本写入到shell文件中, 通过shell命令给定参数,然后运行脚本的方式。 所以在这里我们采用oozie部署shell action来进行hive和sqoop的运行。

Oozie最终部署情况

我们定义一个定时的oozie的Coordinator,在其中包含所有的workflow,对应workflow的分支操作来进行组合。 需要注意的是: oozie是通过异常信息来判断是否执行成功的, 所以我们需要注意mr成功执行失败的情况下, 我们需要进行异常的抛出。 作业:自己完善oozie部署

注意:

oozie的运行要求启动hdfs、yarn、historyserver这三个服务(必须), 针对具体的workflow还需要启动hbase、hivemetastore、mysql等服务。

MR和Hive的区别(优缺点)

  1. 运算资源消耗 无论从时间,数据量,计算量上来看,一般情况下mr都是优于或者等于hive的。mr的灵活性是毋庸置疑的。在转换到hive的过程中,会有一些为了实现某些场景的需求而不得不用多步hive来实现的时候。
  2. 开发成本&维护成本 相比于mr每次开发&维度都需要修改代码逻辑外,hive脚本可以比较容易的进行逻辑修改和代码管理(文本),但是在超大型或者大型的生成集群上,调试hive脚本相对于调试mr成功更加复杂和困难。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.09.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hadoop离线数据分析平台实战——430MR和Hive任务Oozie部署
    • 项目进度
      • MR程序Oozie workflow部署
        • Hive&Sqoop脚本Oozie部署
          • Oozie最终部署情况
            • MR和Hive的区别(优缺点)
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档