参考:oozie\package-info.java
模块名称 | 完成情况 |
---|---|
用户基本信息分析(MR)� | 完成 |
浏览器信息分析(MR) | 完成 |
地域信息分析(MR) | 完成 |
外链信息分析(MR) | 完成 |
用户浏览深度分析(Hive) | 完成 |
订单分析(Hive) | 完成 |
事件分析(Hive) | 完成 |
MR程序有两种方式进行oozie部署, 第一种就是使用oozie的mapreduce action进行部署, 第二种就是使用普通的java action进行部署。 由于我们的mr程序读取的是hbase中的数据结构, 所以我们采用第二种部署方式来进行mr程序的部署操作。
在我们打包的时候,需要将TransformerBaseRunner类中的initJob方法中的TableMapReduceUtil.initTableMapperJob调用设置为集群运行(最后一个参数为true)。 以及AnalyserLogDataRunner类中run方法中的TableMapReduceUtil.initTableReducerJob设置为集群运行(最后一个参数为true)。
针对Hive和sqoop脚本,oozie提供了专门的hive action和sqoop action, 但是我们这里采用将hive脚本和sqoop脚本写入到shell文件中, 通过shell命令给定参数,然后运行脚本的方式。 所以在这里我们采用oozie部署shell action来进行hive和sqoop的运行。
我们定义一个定时的oozie的Coordinator,在其中包含所有的workflow,对应workflow的分支操作来进行组合。 需要注意的是: oozie是通过异常信息来判断是否执行成功的, 所以我们需要注意mr成功执行失败的情况下, 我们需要进行异常的抛出。 作业:自己完善oozie部署
oozie的运行要求启动hdfs、yarn、historyserver这三个服务(必须), 针对具体的workflow还需要启动hbase、hivemetastore、mysql等服务。