Azkaban和Oozie的区别:
当前,实际生产中最流行的两种Hadoop工作流引擎是Azkaban与Oozie。但活跃度最高的当是Azkaban了,下面对两者的异同之处作如下对比。
功能对比
Azkaban和Oozie都可以调用像linux、mapreduce、pig、spark、java等脚本工作流任务;都可以设置任务来执行。
工作流定义对比
Azkaban使用Properties文件定义工作流;Oozie使用XML文件定义工作流。
工作流传参对比
Azkaban支持直接传参,例如${input};Oozie支持参数和EL表达式两种方式,例如${fs:dirSize(myInputDir)}。
定时任务对比
Azkaban的定时执行任务是基于时间的;Oozie的定时执行任务基于时间和输入数据两种方式,功能强大,但是带来配置的复杂度比较高。
资源管理对比
Azkaban有较严格的权限控制,如用户对工作流进行读/写/执行等操作;Oozie暂无严格的权限控制,多人协作就比较麻烦了。
工作流对比
Azkaban有三种运行模式:solo server mode、 two server mode、multiple executor mode。
Oozie作为工作流服务器运行,支持多用户和多工作流。
工作流管理对比
Azkaban支持浏览器以及ajax方式操作工作流;Oozie支持命令行、HTTP REST、Java API、浏览器操作工作流。