Airflow和Azkaban这两个组件对大数据集群来说是相对独立的,都是可以独立于集群安装,所以不管是cdh还是hdp集群,都可以选择其中之一作为集群的任务调度系统。 我们公司有2套集群,国内国外各一套,然后因为历史原因国内用的是Azkaban,国外用的是Airflow,考虑到以后技术栈的统一,打算慢慢将两个集群的组件统一化。 最后选择airflow作为
1、跨dag/project依赖: 这个是指某些任务需要依赖另外的dag/project中的任务,比如一些公共维度表的更新任务。 2、回补执行: 错过了某一次执行时间之后,往回去补充执行的行为。主要是日期变量的保留。 3、airflow.cfg/max_active_runs_per_dag: 这个参数是airflow中只允许每个dag同一时间内只有1天被调度起来,可以防止airflow恐怖的回填行为。
1、ariflow在功能上要比azkaban完整强大。 2、airflow在部署运维以及使用上要比azkaban复杂,成本高,无论是学习还是运维。 3、airdlow跟azkaban相比,功能上最大的优势是支持【回填】和【跨dag依赖】。 4、综上,azkaban基本上可以满足日常的调度任务需求,所以如果需要轻量级的调度组件的话,可以考虑使用azkaban;如果想要功能更完善的调度系统,可以考虑使用airflow,不过要忍受airflow不太友好的web界面。