Repolode
apache

apache/airflow

Apache Airflow 是一个用代码编写、调度和监控工作流的平台,工作流以 Python 定义为 Dag。

Star
47,223
Fork
18,089
未关闭 Issue
1,877
最近提交
7小时前

这是什么?

Apache Airflow 允许用代码定义工作流。每个工作流是一个 Dag,由带有依赖关系的任务组成,调度器会按照依赖顺序把任务分发到一组 worker 上执行。由于流水线就是普通的 Python 代码,可以动态生成、用 Jinja 模板参数化,并纳入版本控制和测试。

项目提供 Web 界面,可查看所有 Dag、运行状态、按时间展开的网格视图、某次运行的依赖图、按日期范围回填(backfill)以及 Dag 源代码。命令行工具支持对 Dag 进行各类操作。Airflow 可通过 PyPI 或 Docker 镜像安装,并支持 Kubernetes 及多种数据库。

Airflow 主要面向批处理、结构相对稳定的流水线,而非真正的流式计算。它常用于 ETL/ELT 任务,也可用于编排机器学习和 LLM 流水线的各个步骤,如数据准备、模型调用和评估。其设计要求任务具备幂等性,大数据量的处理更适合交给外部服务完成。

核心功能

  • 01用 Python 代码定义工作流,支持动态生成 Dag 并使用 Jinja 模板。
  • 02调度器在一组 worker 上执行任务,并遵守任务之间的依赖关系。
  • 03Web 界面提供网格、依赖图和 Asset 视图,可查看运行状态并进行回填。
  • 04内置丰富的 operator,并可通过 provider 扩展。
  • 05提供命令行工具,用于管理 Dag 和执行相关操作。
  • 06可通过 pip 或 Docker 镜像安装,并支持 Kubernetes。

适用场景

  • 调度和监控每日运行的 ETL 或 ELT 数据流水线。
  • 编排机器学习的训练、评估和部署步骤。
  • 协调 LLM 或 AI 流水线中的数据准备和模型调用等步骤。

快速上手

  1. 1

    按 README 的“从 PyPI 安装”部分,安装 PyPI 上的 apache-airflow 包

  2. 2

    按照官方入门指南运行 Airflow

使用前须知

  • 不原生支持 Windows,需使用 WSL2 或 Linux 容器。
  • SQLite 仅用于测试,不应在生产环境中使用。
  • 由于依赖管理较复杂,从 PyPI 安装可能比较麻烦。

标签

常见问题

airflow 是什么?
Apache Airflow 是一个用代码编写、调度和监控工作流的平台,工作流以 Python 定义为 Dag。 Apache Airflow 允许用代码定义工作流。每个工作流是一个 Dag,由带有依赖关系的任务组成,调度器会按照依赖顺序把任务分发到一组 worker 上执行。由于流水线就是普通的 Python 代码,可以动态生成、用 Jinja 模板参数化,并纳入版本控制和测试。
airflow 可以免费使用吗?用的什么许可证?
airflow 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
airflow 还在维护吗?
活跃维护中。airflow 最近一次提交是在 2026年10月20日。
airflow 适合用来做什么?
调度和监控每日运行的 ETL 或 ELT 数据流水线。 编排机器学习的训练、评估和部署步骤。 协调 LLM 或 AI 流水线中的数据准备和模型调用等步骤。
airflow 怎么安装和运行?
按 README 的“从 PyPI 安装”部分,安装 PyPI 上的 apache-airflow 包 按照官方入门指南运行 Airflow
在哪里获取 airflow?
源代码和安装说明在 GitHub 上:https://github.com/apache/airflow

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目