Airflow 简介
Airflow是一个基于有向无环图(DAG)的可编程、调度和监控的工作流平台,它可以定义一组有依赖的任务,按照依赖依次执行。airflow提供了丰富的命令行工具用于系统管控,而其web管理界面同样也可以方便的管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。
Airflow 特性
- airflow是一个用来对例行任务进行调度的平台,可以将所有有依赖关系的任务整合在一起。
- airflow有两个比较重要的概念:DAG和task,一个task表示一个任务,多个有依赖关系的task组织在一起就是一个DAG。
- airflow中DAG和task都需要写一段python代码来实现,使用者需要有部分python基础知识。
- 我们的每一个任务(task)都可以归纳为一种操作(Operator):比如执行一段shell指令可以理解为BashOperator、运行一个spark任务可以理解为一个SparkOperator。有一些比较特殊的操作,比如判断一个目录是否存在,在airflow中属于SensorOperator。
- 大数据部对airflow提交spark、mr、hive等集群任务都使用genie提交,对这类任务统一封装成了GenieOperator。(genie是另一个开源服务,通过genie可以远程提交到多个集群)