调度系统airflow和azkaban对比


标题: 调度系统airflow和azkaban对比
日期: 2021-12-07 23:08:24
标签: [调度系统,airflow,azkaban]
分类: 调度系统

今天来对比下现在市面上开源的,用的比较多的两个调度系统airflow和azkaban的差别。

code

直接看表格吧:

功能AzkabanAirflow
所有者linkedinairbnb开源给apache
licenseApache License, Version 2.0Apache License, Version 2.0
调度模块Quartz自实现
调度中心HA不支持支持(2.0之后)
执行器HA支持支持
业务耦合度低,与实际业务无耦合。低,与实际业务无耦合。
Job类型Command、HadoopShell、Java、HadoopJava、Pig、Hive等,支持插件式扩展Python、Bash、HTTP、Mysql等,支持Operator的自定义扩展。
Executor触发RestfulRestful
工作流支持,自定义DSL语法支持,基于Python DAG
管理界面简单,美观程度airflow,整体功能逻辑清晰,上手简单该有的功能都有,但是复杂不直观,甚至有点难用
部署运维简单较复杂,包括WebServer、Scheduler、Worker和Flower(可选,用于)rabbitmq/redis
单点故障Web Server存在单点故障风险2.0之前Scheduler存在单点故障风险。
手动依赖执行不支持,需要手动选择哪些任务需要执行支持,airflow在手动执行某个任务时,可以选择同时执行该任务的上游和下游任务。

仔细看,他们俩不相上下啊,其实还是有细微的差别的:

  1. 支持的作业类型,airflow比azkaban多,azkaban作业类型偏向于hadoop hive类型作业,airflow除了这些还能执行shell sql http等任务;
  2. 当你使用才会知道,airflow支持dag间依赖,而azkaban不支持project间依赖,这对于复杂的依赖关系网任务群会让azkaban用起来非常棘手;
  3. 当你使用才会知道,airflow支持任务的历史回填,即回补执行,运行历史任务,参数对应历史时刻的值,相当于时光倒流,回到当时的任务状态,去执行任务,而azkaban不支持;

对比得差不多了,根据你们公司的具体作业场景选择合适的调度工具吧。

airflow更适合作业繁多,任务之间依赖复杂,任务多样(比如sql,http,python,java,shell等)时使用;
azkaban更适合hadoop类型作业。

ok,今天就到这里。


书山有路勤为径,学海无涯苦作舟。

欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenzuoli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值