很幸运,能参加公司产品组的数据中台项目研发,在离线业务中,针对ETL任务的调度,以及拖拽脚本,使用的是Apache公司开源的调度平台Airflow进行封装。
文章目录
前言
随着离线业务的逐渐发展,定时调度的场景千百万变,与此同时,各个场景的任务越来越多,任务与任务之间的依赖也各有不同。传统的crontab无法解决的任务依赖问题,因此选择Airflow调度系统已经成为当下的主流。
一、Airflow介绍
Airflow是Airbnb开源的一个用Python编写的调度工具。它是基于DAG(有向无环图)的任务管理系统,最简单的理解就是一个高级版的crontab。
系统 | 介绍 |
---|---|
oozie | 使用XML配置,oozie任务的资源文件都必须放在HDFS文件系统上,配置不方便,同时也只用于Hadoop。 |
azkaban | 它使用java properties文件维护任务依赖关系,任务资源文件需要打包成zip,部署不是很方便。 |
airflow | 具有自己的web任务管理界面,dag任务创建通过python代码,可以保证其灵活性和适应性。 |