Azkaban: 一个批量工作流任务调度器
oozie本质就是一个作业协调工具(底层原理是通过将xml语言转换成mapreduce程序来做,但只是在集中map端做处理,避免shuffle的过程。)
Oozie和Azkaban的区别
工作流配置上:azkaban使用properties或yml,oozie使用xml
工作流传参上:azkaban直接传参,oozie还额外支持EL
表达式定时任务上:azkaban基于时间,oozie还额外基于数据
资源管理上:azkaban有权限管理,oozie暂无
重试机制上:azkaban支持job级别的重试,oozie支持更细粒度的重试
反馈机制上:azkaban根据进程的反馈判断是否成功,oozie则根据yarn的作业判断是否成功
使用难度上:azkaban开箱即用,oozie需要复杂的编译和安装才可以使用
自由度上:azkaban只能通过shell执行job,oozie则可以根据情况定制jar包执行job
要根据自己的工作需要来选择具体是用azkaban还是oozie来做任务调度和定时任务。这两个工具会用就行了。