1.Airflow是什么
airflow是apache基金会的顶级开源项目之一,主要用于调度、监控工作流
2.airflow main concepts
airflow的基本组件架构
airflow scheduler.jpg
scheduler:以有向无环图(dag)的形式创建任务工作流,根据用户的配置将任务定时/定期进行调度
worker:任务的执行单元,worker会从任务队列当中拉取任务并运行任务
webserver:任务与dag的web管理服务
message queue: 任务的调度队列,一般使用redis或者rabbiMq作为broker
metadata center: 所有任务、dag、日志的相关元信息均存储于metadata Center,一般使用MySQL进行metadata管理
调度单元
dag: airflow当中work flow的基本单位,通过配置Dag当中的相应参数确定调度时间、调度频率,通过实例化dag当中的task创建实际工作流
task: task由operator以及task upstream/downstream两部分组成,airflow提供了非常丰富的operator能够对接各类平台与系统实现任务执行,任务之间通过简单的上下游关系建立关系组成工作流
queue:airflow通过队列一方面可以实现用户管理(不同的用户绑定不同的队列),另一方面可以实现分布式任务调度(一个队列对应多个分布式服务器)
调