Airflow 是一个用于以编程方式编写、调度和监控数据管道的平台。
使用 Airflow 将工作流编写为任务的有向无环图 (DAG)。Airflow 调度程序在遵循指定的依赖关系的同时,在一组工作程序上执行您的任务。丰富的命令行实用程序使对 DAG 执行复杂操作变得轻而易举。丰富的用户界面使您可以轻松地可视化生产环境中运行的管道、监控进度并在需要时排除故障。
原则
- 动态:Airflow 管道以代码(Python)形式进行配置,允许动态生成管道。这允许编写动态实例化管道的代码。
- 可扩展:轻松定义自己的操作符、执行器并扩展库,使其适合您的环境的抽象级别。
- 优雅:Airflow 管道简洁明了。使用强大的 Jinja 模板引擎,参数化脚本是 Airflow 核心的一部分。
- 可扩展:Airflow 具有模块化架构,并使用消息队列与协调任意数量的工作程序进行通信。Airflow 能够扩展到无限大。