这个项目能做什么
Apache Airflow 是一个旨在编写、调度和监控工作流的平台。通过将工作流定义为代码(有向无环图或 DAG),使其更具可维护性、可版本化和可测试性。该平台包含一个根据指定依赖关系在 worker 上执行任务的调度器,一个用于 DAG 管理的丰富命令行界面,以及一个用于可视化管道和故障排除的用户界面。
关键能力包括:
- 动态管道生成:工作流在 Python 中定义,允许进行动态生成和参数化。
- 可扩展性:提供广泛的内置 operator 并支持自定义扩展。
- 灵活性:集成 Jinja 模板引擎以实现丰富的自定义。
- 广泛的用例:虽然主要用于数据管道,但它还用于编排机器学习工作流(训练、评估、部署)以及基于 AI/LLM 的工作负载。
- 监控 UI:具有全面的界面,包括 DAG 概览、资产依赖图、运行的网格和图表表示,以及回填工具。
Airflow 专为静态或缓慢变化的工作流设计,并强调幂等任务。它不是一个流处理解决方案,但可以分批处理实时数据。它支持包括 PostgreSQL、MySQL 和 SQLite(用于开发)在内的多种数据库,并可通过 PyPI、Docker 镜像或 Helm Charts 进行部署。