AirFlow调度平台简介
airflow 是一个编排、调度和监控工作流的平台,由Airbnb开源,现在在Apache Software Foundation 孵化。airflow将工作流编排为tasks组成的有向无环图(DAGs),调度器在一组workers上按照指定的依赖关系执行tasks。同时,airflow提供了丰富的命令行工具和简单易用的用户界面以便用户查看和操作,并且airflow提供了监控和报警系统
AirFlow基础概念
Airflow主要是将工作流的相关信息定义到一个Python文件中,airflow根据文件中的定义信息执行工作流,在Airflow pipeline定义中,主要涉及两个类: DAG
,Operator
DAG
: 有向无环图,它将定义的任务按照依赖关系组织起来
Operator
:用来描述每个任务具体做的事,airflow内置了很多operator,如BashOperator
执行一个bash 命令,PythonOperator
调用任意的Python 函数,EmailOperator
用于发送邮件,HTTPOperator
用于发送HTTP请求, SqlOperator
用于执行SQL命令…同时,用户可以自定义Operator,这给用户提供了极大的便利性