两者在功能方面大致相同,只是Oozie底层在提交Hadoop Spark作业是通过org.apache.hadoop的封装好的接口进行提交,
而Azkaban可以直接操作shell语句。在安全性上可能Oozie会比较好。
工作流定义: Oozie 是通过xml定义的而Azkaban为properties来定义。
部署过程: Oozie 的部署相对困难些,同时它是从Yarn上拉任务日志。
Azkaban中如果有任务出现失败,只要进程有效执行,那么任务就算执行成功,这是BUG,但是Oozie能有效的检测任务的成功与失败。
操作工作流:Azkaban使用Web操作。 Oozie 支持Web,RestApi,Java API操作。
权限控制:Oozie基本无权限控制,Azkaban有较完善的权限控制,供用户对工作流读写执行操作。
Oozie的action主要运行在hadoop中而Azkaban的actions运行在Azkaban的服务器中。
记录workflow的状态: Azkaban 将正在执行的workflow状态保存在内存中,Oozie将其保存在Mysql中。
出现失败的情况:Azkaban会丢失所有的工作流,但是 Oozie 可以在继续失败的工作流运行