spring-hadoop和spring-batch对MR整合,形成工作流,代码逻辑清晰很多

干货(3)-spring-batch+spring-hadoop+olh整合 - Hadoop分布式数据分析平台-炼数成金-Dataguru专业数据分析社区
http://f.dataguru.cn/thread-155752-1-1.html
参加adc大会回来,讲师们的一个观点让我很受启发:就是淘宝和百度的Hadoop工程师们,会写10几个步骤的连续的MR作业来做运算,也不会去写低效 hive。在我的实际工作中,最多有四步的MR运算,代码已经比较混乱了,并不易于维护。这两天用spring-hadoop和spring-batch对MR整合,形成工作流,代码逻辑清晰很多,以后维护也方便了。

总的来说是两大步骤,先对原始日志进行ETL,然后用OLH将洗过的数据导入到oracle中,注意ETL中分为两步:先用脚本做一些初始化工作,我这里随便写了点代码,实际中可以拷贝数据,删除已存在的output目录等等;第二步是真正的ETL执行。通过定义StepExecutionListener和JobExecutionListener,我们可以在任务完成时进行回调操作,完成一些逻辑处理,在我的例子中就是com.etl.listener.EtlInitStepListener和
com.etl.listener.EtlJobListener。所有的JobParameters都在java代码中赋值,除了
fieldTerminator,这在实际应用中具有很大的灵活性。
项目采用maven管理,pom如下,

你可能感兴趣的:(spring-hadoop和spring-batch对MR整合,形成工作流,代码逻辑清晰很多)