对比Oozie以及Azkaban,个人觉得选择Oozie作为流程引擎的选型比较好,理由如下:
1.Oozie是基于Hadoop系统进行操作,而Azkaban是基于命令行进行操作。使用hadoop提供的第三方包JobClient比直接在底层跑shell命令开发成本小,可能遇到的坑也少(一个是基于平台,一个是基于系统)。
2.Oozie的操作是放在Hadoop中,而Azkaban的运行是服务器运行shell命令。为保证服务器的稳定,使用Oozie靠谱点。
3.Ooize提供查询任务执行状态,Azkaban查询的是进程执行的结果,如果某进程执行的shell命令出错,其进程仍展示位成功,混淆了任务输出。
4.Oozie将任务执行的状态持久化到数据库中,Azkaban将任务的状态存储在服务器内存中,如果掉电,则Azkaban会丢失任务信息。
5.Ooize中定义的action类型更为丰富,而Azkaban中的依赖较为简单,当面对复杂的逻辑时Oozie执行的比较顺畅(网上说的,但是没有实践的数据。。。)。
以Oozie作为流程引擎的难点:
1.定义workflow.xml的过程,需要保证有效的完成用户的逻辑且运行的过程中job不出错。
2.部署有点麻烦。
3.学习的成本会略高。
工作流开源系统--OOZIE
最新推荐文章于 2024-09-25 17:10:01 发布