Apache Airflow 3.0 终于发布了,这无疑是该项目历史上最重要的一次版本更新。
无论您是数据新手,还是多年来一直使用 Airflow,这次版本都会重塑您对工作流管理的认知。
我亲身体验了新版本,可以自信地说,这绝不仅仅是一次小幅升级。
其中一些重磅亮点包括:
- 全新的面向服务架构与完整的远程执行能力
- 全新基于 React 的 UI,后端采用 FastAPI 构建
- DAG 版本管理与变更追踪
- 基于资产与事件的 DAG 触发机制
- 对现代机器学习工作流的原生支持
- 清晰的升级路径与模块化 CLI 拆分
本指南将带您全面了解 Airflow 3.0 及其全部新特性。
什么是 Apache Airflow?
Apache Airflow 是一个开源平台,帮助用户以编程方式编写、调度和监控数据工作流。
它长期以来是复杂 ETL 流水线、数据工程工作流,以及近年的机器学习流水线的首选编排器。
Airflow 的基础概念是 DAG(有向无环图,用于定义任务序列及其依赖关系)。
在 Airflow 中,任务可以是 Python 脚本、SQL 转换,甚至是容器化的操作。
该平台灵活、可扩展,如今随着 3.0 的发布,更具前瞻性。
如果您刚开始接触 Airflow, Python 中的 Apache Airflow 入门 课程是一个提供实操体验的优秀资源。
Apache Airflow 简史
Airflow 最初由 Airbnb 于 2014 年开发,并于 2015 年开源。
随后它成为 Apache 项目,现已成为数据工程生态中最广泛采用的编排工具之一。
- Airflow 1.x:引入了基于 Python 的 DAG 编写、调度器与执行器基础。
- Airflow 2.0(2020):里程碑式发布,新增 TaskFlow API、REST API 和高可用调度器。
- Airflow 2.3–2.5:引入数据集、数据感知调度与可观测性改进。
- Airflow 3.0(2025):标志着一次根本性重构,优先考虑模块化、ML 原生能力与云原生支持。
从下图可以看出,GitHub 贡献逐年显著增长,这表明 Apache Airflow 是数据编排领域最活跃的开源项目之一。

展示多年来对 Apache Airflow 的 GitHub 贡献数量持续增长的图表。来源: Airflow 3.0 介绍视频
Apache Airflow 3.0 有哪些新变化?
Apache Airflow 3.0 的发布围绕三个基础主题展开。

Apache Airflow 3.0 发布页截图。来源: Apache Airflow
这些主题体现了项目的愿景:满足现代数据平台的需求,提升开发者体验,并巩固 Airflow 作为分布式、混合与 ML 驱动环境核心编排器的地位。
关键主题可大致归纳如下:

概述 Apache Airflow 3.0 三大核心主题的图示。图片由 Napkin AI 生成
更易使用
3.0 版本的一个重要目标,是全面提升可用性,从命令行到用户界面,再到底层 API 交互。
现在的 Airflow 更易上手、日常使用更愉悦,也更能支撑复杂的运维需求。
更强安全性
随着隐私监管趋严与数据基础设施规模扩大,安全已成为数据工程的核心关注点。
Airflow 3.0 通过更深层次的架构支持,实现任务隔离与执行控制,以应对这些问题。
这些安全改进既前瞻又具战略意义,契合企业级部署、高度监管行业与现代 DevSecOps 实践的需求。
随处、随时运行
现代数据栈早已不再局限于本地数据中心,甚至也不限于集中式云环境。
Airflow 3.0 通过支持多样的部署拓扑与执行模式来应对这一挑战。
让任务能在任意地点运行(并支持任意时间执行的工作流),为现代数据生命周期的编排提供了无与伦比的灵活性、韧性与可扩展性。

展示“随处、随时运行”的远程集群与本地工作器示意图。来源: Airflow 3.0 Astronomer 介绍视频
本指南接下来将更详细地介绍 Airflow 3.0 的关键主题。
Airflow 3.0 的主要架构变更
Apache Airflow 3.0 重新构想了任务如何执行、可在哪里运行,以及开发者与运维人员如何与系统交互。
其重点在于解耦、模块化、可扩展性与部署灵活性,使 Airflow 能满足混合与多云数据平台的需求。

展示 Airflow 2 与 Airflow 3 架构的对比图。来源: Airflow 3.0 Astronomer 介绍视频
Task Execution API 与 Task SDK
Airflow 3.0 最重要的创新之一是引入 Task Execution API 及配套的 Task SDK。
这些组件使任务的定义与执行可独立于 Airflow 的核心运行时引擎。
其关键影响包括:
- 语言灵活性:任务不再局限于 Python。借助新 SDK,可使用 Java、Go 或 R 等语言编写任务,便于更广泛的技术栈集成与采用。
- 环境解耦:任务可在与调度器和工作器分离的隔离、远程或容器化环境中运行,消除依赖冲突并提升执行一致性。
- 精简开发流程:标准化的任务开发接口简化了测试与部署,增强代码复用,降低新开发者上手成本。
这一架构让 Airflow 朝着更灵活、更云原生迈出关键一步。
它与数据工程更广泛的趋势保持一致:语言多样化、容器化与任务级可复现性。
Edge Executor
Edge Executor 是 Airflow 3.0 的另一项变革性新增组件。
它旨在支持事件驱动与地理分布式的任务执行。
与必须在集中式集群中执行不同,Edge Executor 允许任务在数据源处或其附近运行。
边缘执行的主要优势包括:

展示边缘执行关键优势的图示。图片由 Napkin AI 生成
- 地理灵活性:任务可在远程或区域性集群、数据中心,甚至边缘设备上运行。
- 实时响应性:非常适合低延迟、事件驱动的场景,如 IoT、金融数据流或运行监控。
- 降低网络时延:由于计算在数据源附近进行,无需将大量数据传输至中央集群,开销更低。
- 事件触发流水线:Edge Executor 支持 Airflow 3.0 新引入的事件驱动调度范式。
任务隔离与部署拓扑
Airflow 3.0 引入了新级别的任务隔离,大幅提升安全性与性能。
让任务在沙箱环境中运行,可降低数据泄露与资源冲突风险。
同时也带来更灵活的依赖管理:不同任务或 DAG 可以使用各自的库版本、Python 环境或运行时引擎。
这种隔离也有利于平滑升级。Airflow 的核心组件可在不干扰正在运行的任务、或不破坏兼容性的前提下更新。
改进后的架构支持多种面向不同基础设施需求的部署场景。
在公有云环境中,Airflow 工作器可轻松分布到 AWS、GCP 或 Azure 等提供商。
对于私有或混合云部署,控制平面组件可保留在安全网络内,而任务则在 DMZ 或本地数据中心执行。
此外,Airflow 3.0 支持边缘部署,使得在工业或移动硬件上直接进行如 ML 推理或异常检测等用例成为可能。
这些能力支持数据本地化合规、容错调度以及基于 GPU 的加速执行。
CLI 拆分:airflow 与 airflowctl
Airflow 3.0 引入拆分的命令行接口(CLI),以配合模块化后端,区分本地开发与远程运维任务。
airflow
- 用于本地开发与测试
- 与本地 DAG、元数据数据库及组件交互
- 支持快速测试、DAG 解析与基于 CLI 的调试
airflowctl
- 面向生产与远程编排
- 负责环境管理、部署与云端执行
- 适用于 CI/CD 流水线、可观测性与分布式集群管理
这一划分简化了个人开发者与平台团队各自的工作流。
如需查看技术细节与完整变更列表,请查阅官方 Airflow 3.0 发行说明。
架构增强概要
下表总结了本次架构增强点:
|
Feature
|
Description
|
|
Task SDK + API
|
Write and run tasks in any language with remote execution support
|
|
Edge Executor
|
Distributed task execution near data sources or across geographies
|
|
Task Isolation
|
Secure and independent task environments; flexible dependency management
|
|
CLI Split
|
Clear distinction between local (airflow) and remote (airflowctl) commands
|
|
Deployment Topologies
|
Supports hybrid, multi-cloud, edge, and GPU-accelerated execution patterns
|
全新 React UI 与 DAG 版本管理
Airflow 3.0 带来了彻底重构的用户界面:前端自底向上采用 React 构建,后端框架更换为 FastAPI。
更快、更灵敏的 UI
新的 UI 架构显著提升了使用体验,尤其在有数百甚至上千个 DAG 的环境中表现突出。
页面加载更快、交互更直观,不同视图间的导航体验也保持一致且灵敏。
部分关键 UI 改进包括:
- 网格视图增强:改进了时间线导航、搜索与筛选。用户更容易扫描 DAG 的执行状态,并排查失败或卡住的任务。
- 图形视图改进:更佳的缩放、平移与交互式任务元数据探索,有助于一眼理解复杂的 DAG 结构。
- 资产面板:专为资产驱动工作流设计的新视图,可可视化资产、其生产者与消费者,以及跨 DAG 的血缘关系。
内置深色模式支持
深色模式现已原生且经过深思熟虑地集成到 Airflow 中,提供为清晰度与长时间舒适度优化的视觉体验。
虽然 2.x 版本已有深色模式,但这次发布带来的是完整、专门构建的设计层。
显然其在对比度、可读性与长时间使用时的护眼方面做了细致优化。
作为长期在开发领域工作的人,我对此深表欣赏。
这曾是社区呼声最高的功能之一,尤其适合经常在弱光环境下工作或偏好深色界面的开发者。
下图展示了 Airflow 控制台仪表盘在浅色与深色模式下的视觉差异。

Airflow 控制台浅色模式截图。来源: Airflow 3.0 Astronomer 介绍视频

Airflow 控制台深色模式截图。来源: Airflow 3.0 Astronomer 介绍视频
DAG 版本管理
Airflow 3.0 的一项极具影响力的新能力是对 DAG 的一等公民级版本管理。
Airflow 2.x 的挑战
在以往版本中,DAG 从源代码文件中解析,且最新版本的 DAG 会被全局应用,甚至追溯影响到过去的 DAG 运行。
这带来了一些众所周知的问题。
其中一个主要问题是执行漂移:如果在运行期间更新 DAG,任务可能在不同版本的代码下执行。
同时,由于 Airflow 没有原生机制记录某次执行对应的 DAG 版本,导致审计能力缺失。
另外,历史准确性也受到影响:UI 总是展示最新的 DAG 结构,与实际运行时间无关,从而导致执行历史不一致甚至具有误导性。
Airflow 3.0 的变更
Airflow 3.0 将结构化的 DAG 版本追踪直接引入平台:
- 每次部署或代码变更时,DAG 都会生成版本。
- 历史运行会与产生该运行的确切 DAG 版本一同被保留。
- 用户可在 UI 中选择特定 DAG 版本进行检查、重跑或分析。
我非常认可这一特性,因为在实践中,要创建一个永远无需修改的 DAG 几乎不可能。
无论因新增业务逻辑、修复缺陷,还是优化性能,DAG 都需要不断演进,而内建的版本管理让这一过程更加透明、可控。
下方截图展示了 DAG 编排界面及新的版本历史下拉菜单,您可以看到其实际效果。

DAG 编排界面图。来源: Airflow 3.0 Astronomer 介绍视频

带版本历史下拉菜单的 DAG 编排截图。来源: Airflow 3.0 Astronomer 介绍视频
为什么 DAG 版本管理很重要
DAG 版本管理对于保持可靠、可追溯、合规的数据工作流至关重要,原因如下:
- 可复现性:即便当前代码已变更,也可可靠地按过去的方式重跑 DAG。
- 调试:可将错误追溯到负责的特定 DAG 版本,有助于根因分析。
- 治理:在受监管环境中,版本管理通过保留“何时、如何使用了哪段代码”的审计轨迹,支持合规要求。
- CI/CD 集成:使用 GitOps 工作流的团队可将 Airflow 中的 DAG 版本与源码控制中的提交哈希关联,实现全链路可追溯的交付流水线。
下方截图展示了这些变更在 UI 中的呈现方式:DAG 概览与代码面板均提供了版本感知视图。

Airflow 控制台中 DAG 的概览面板截图。来源: Airflow 3.0 Astronomer 介绍视频)

Airflow 控制台中 DAG 的代码面板截图。来源: Airflow 3.0 Astronomer 介绍视频
协作与透明度
DAG 版本管理也让数据团队的协作更顺畅。例如:
- 工程师无需访问 Git,即可直接在 UI 中审阅 DAG 变更。
- 分析师与 QA 团队可验证历史行为,而不必担心影响生产 DAG。
- 平台工程师可在稳定版本旁安全地测试新的 DAG 版本。
更智能的调度与回填
Airflow 3.0 在工作流的触发、管理与协调方面实现了重要演进。
资产驱动的 DAG
更智能调度的核心是“资产(Assets)”概念。
受早期版本中“数据集(datasets)”演进的启发,新的 @asset 装饰器允许用户基于逻辑数据实体的可用性与状态来驱动流水线。
什么是资产?
在 Airflow 中,资产代表由 DAG 生产、转换或消费的数据或输出。
这可以是数据库表、云存储中的文件、已训练的 ML 模型,甚至是 API 响应。
借助 @asset 装饰器:
- 资产被声明为返回或生成数据的 Python 函数。
- 这些资产在编排过程中被视为一等公民。
- Airflow 会自动跟踪资产与 DAG 之间的依赖。
下方截图展示了资产在 Airflow 控制台中的可视化方式。

Airflow 控制台中的资产视图截图。来源: Airflow 3.0 Astronomer 介绍视频
Airflow 3.0 中资产的一些关键特性包括:

展示 Airflow 3.0 中资产关键特性的图示。图片由 Napkin AI 生成
- 结构化元数据:资产支持名称、URI、分组标识与任意元数据字段,便于丰富的血缘与发现。
- 可组合设计:资产可相互引用以构建相互依赖、模块化的流水线。
- Watcher 支持:资产可配置 Watcher 以监听外部信号(目前支持 AWS SQS),并据此触发 DAG 执行。
这种模型将 DAG 调度从“每小时运行一次”转变为“当相关数据就绪时运行”。
它实现了真正的响应式工作流,与数据状态而非时钟紧密耦合。
关于这些新能力的更深入示例与生产实践,请参阅 Astronomer 的数据感知调度指南。您也可以在《使用 Airflow 构建 ETL 流水线》中学习如何用这些特性实现完整的数据流水线。
外部事件调度
Airflow 3.0 引入对外部事件驱动调度的强大支持,允许基于 Airflow 生态之外的真实触发器启动工作流。
这一特性是对 Airflow 传统轮询式方法的重大转变。
支持的事件源包括 AWS SQS(用于在云原生、解耦的工作流中集成消息队列)、计划中的 Kafka 支持(用于流式与微服务协同),以及 HTTP/webhook(接收来自监控系统、API 或其他编排平台的信号)。
用例涵盖:当新文件落地 S3 时启动数据流水线;响应 ML 模型注册表更新触发 DAG;或协调实时告警与事件响应工作流等。
事件驱动的 DAG 让 Airflow 更灵活、更强大,能够实时响应外部系统。
由调度器管理的回填
Airflow 3.0 对回填机制进行了期待已久的改革,即对过去的数据区间重跑或修复失败 DAG 的过程。
Airflow 2.x 的部分挑战在于缺乏回填的 UI 与 API 支持,必须通过 CLI 手动触发。
因此,Airflow 3.0 做出了如下改进:

展示 Airflow 3.0 改进点的图示。图片由 Napkin AI 生成
- 统一执行模型:回填由主调度器处理,确保与常规 DAG 运行一致。
- 多模触发:可通过 UI、API 或 CLI 启动回填,满足交互用户与自动化系统的不同需求。
- 异步执行:回填以非阻塞、异步方式运行;可并行排队和管理多个回填。
- 全方位可观测性:UI 提供回填进度跟踪器,包括详细的任务级视图、实时日志与状态指示。
- 可取消的运行:可在 UI 中暂停或终止回填,便于动态应对问题,而无需重启整条工作流。
Airflow 3.0 对机器学习与 AI 用例的支持
Airflow 3.0 朝着“现代机器学习(ML)与 AI 驱动工作流的一流编排工具”迈出了重要一步。
非数据区间 DAG
3.0 中最具变革的变化之一,是去除了长期存在的执行日期约束。
在 Airflow 2.x 及更早版本中,每次 DAG 运行都必须有唯一的 execution_date,且主要与调度区间相关。
这一模型对基于时间的 ETL 作业很合适,但在实验与推理场景中带来摩擦。
借助非数据区间 DAG,Airflow 3.0 实现了真正的执行独立性:
该变更支持的用例包括:
- 模型实验:可针对不同模型配置或数据切片多次运行同一 DAG,而无需担心执行日期冲突。
- 超参数调优:可为不同参数网格或搜索策略同时发起 DAG 运行,分别追踪、并行执行。
- 推理 DAG:在新数据、外部事件或用户操作触发下,持续或反复调用同一 DAG 进行实时或批量预测。
这种解耦极大简化了 ML 工程师的编排逻辑,并提升自动化、并行性与可复现性。
任务可随时运行
Airflow 3.0 现已正式支持多种执行范式,认识到现代数据工作流并不总是适配固定日程。
此更新让 Airflow 更能适配多样的运维与数据处理需求。
支持的执行模式包括传统的“定时(批处理)执行”,采用类 cron 的调度,适用于夜间报表、整点同步或批量 ETL 流水线。
Airflow 3.0 也支持“事件驱动执行”,即当云存储桶中出现新文件、或 Kafka 上收到消息时触发 DAG,实现响应式、实时编排。此外,还支持“临时/推理执行”,允许 DAG 在无需特定时间戳的情况下运行。
这尤其适用于机器学习推理、数据质量检查或用户触发的作业等关注并发与即时性的场景。
升级至 Airflow 3.0
Airflow 3.0 带来重大改进,同时也在多方面有意地打破了旧有模式。
为助您平稳过渡,核心贡献者提供了详尽、结构清晰的升级指南。
这是一次主版本发布,建议做好充分规划。
尽管如此,升级过程已尽可能简化,并提供清晰的文档、升级清单与兼容性工具。
指南涵盖的部分内容包括:
- 环境与依赖配置
- 调度器与执行器的匹配
- 数据库架构迁移与备份
- 任务执行与 DAG 解析的行为差异

Apache Airflow 升级至 3.0 网页截图。来源: Apache Airflow
升级前,务必评估以下方面:
- DAG 兼容性:确保 DAG 使用 3.0 Task SDK 支持的 API 与构造,尤其在采用新执行特性时。
- CLI 迁移:在 CI/CD 与远程执行场景中,按需以 airflowctl 替换已弃用的 CLI 用法。
- 插件校验:确认自定义插件与第三方集成兼容新的架构设计与 CLI 拆分。
如果您希望获得顺畅的升级体验,请在更新前查阅完整的 《升级至 Airflow 3.0》文档。
基于演示的评估
要直观看到 Airflow 3.0 的新特性,Astronomer 提供的官方演示 DAG 为您动手探索平台最新能力提供了绝佳途径。
这些演示是对新特性的全面展示,非常适合理解 DAG 版本管理、资产驱动工作流与事件驱动执行在真实场景中的工作方式。

Airflow 3.0 可能的示例用例截图。来源: Astronomer GitHub
更新后的界面令人眼前一亮。资产视图提供了清晰的数据依赖与血缘的可视化地图,在处理资产驱动的 DAG 时尤其实用。
DAG 版本历史面板是另一个亮点:它便于快速查看历史变更、简化可复现性,并能轻松将特定运行与其对应代码关联起来。
另外,全新设计的深色模式提供了出色的对比度与可读性,对长时间调试或深夜开发尤为友好。
如果您想亲自试用,Astronomer 在其GitHub 仓库中提供了分步说明与即开即用的演示环境。您可以克隆仓库、按指南完成设置,并探索 Airflow 3.0 的新特性。
社区与后续发展
Apache Airflow 一直由社区驱动,这同样适用于 Airflow 3.0。
此次发布中众多影响深远的特性,直接来源于社区调研、GitHub 讨论与用户反馈。
如果您正在使用 Airflow,建议积极参与。以下是您可以发挥影响力的方式:
- 加入 Apache Airflow Slack 社区,分享反馈、提出问题并与同行交流。
- 在 GitHub 上参与 issue、功能提案与设计讨论,共同塑造未来版本。
- 在发布功能调研时积极参与。Airflow 3.0 本身就凝聚了像您这样的用户洞察。
结语
Apache Airflow 3.0 将面向服务的架构、多语言任务执行、更智能的调度与彻底现代化的 UI 融于一体。
尽管 CLI 拆分与面向边缘的执行器等变化可能让人感到剧烈,但最终的产物是一个更模块化、可扩展、面向生产的编排平台。
它也对 ML 团队、云原生技术栈与事件驱动系统更加友好,在这些场景中,响应性与可观测性至关重要。
如果您仍在使用旧版本 Airflow,值得认真考虑升级至 3.0。
若想上手实践 Airflow,请从我们的课程 Getting Started with Apache Airflow 开始,或在 Introduction to Apache Airflow in Python 中加深对核心概念的理解。
Apache Airflow 3.0 终于发布了,这无疑是该项目历史上最重要的一次版本更新。
无论您是数据新手,还是多年来一直使用 Airflow,这次版本都会重塑您对工作流管理的认知。
我亲身体验了新版本,可以自信地说,这绝不仅仅是一次小幅升级。
其中一些重磅亮点包括:
本指南将带您全面了解 Airflow 3.0 及其全部新特性。
什么是 Apache Airflow?
Apache Airflow 是一个开源平台,帮助用户以编程方式编写、调度和监控数据工作流。
它长期以来是复杂 ETL 流水线、数据工程工作流,以及近年的机器学习流水线的首选编排器。
Airflow 的基础概念是 DAG(有向无环图,用于定义任务序列及其依赖关系)。
在 Airflow 中,任务可以是 Python 脚本、SQL 转换,甚至是容器化的操作。
该平台灵活、可扩展,如今随着 3.0 的发布,更具前瞻性。
如果您刚开始接触 Airflow, Python 中的 Apache Airflow 入门 课程是一个提供实操体验的优秀资源。
Apache Airflow 简史
Airflow 最初由 Airbnb 于 2014 年开发,并于 2015 年开源。
随后它成为 Apache 项目,现已成为数据工程生态中最广泛采用的编排工具之一。
从下图可以看出,GitHub 贡献逐年显著增长,这表明 Apache Airflow 是数据编排领域最活跃的开源项目之一。
展示多年来对 Apache Airflow 的 GitHub 贡献数量持续增长的图表。来源: Airflow 3.0 介绍视频
Apache Airflow 3.0 有哪些新变化?
Apache Airflow 3.0 的发布围绕三个基础主题展开。
Apache Airflow 3.0 发布页截图。来源: Apache Airflow
这些主题体现了项目的愿景:满足现代数据平台的需求,提升开发者体验,并巩固 Airflow 作为分布式、混合与 ML 驱动环境核心编排器的地位。
关键主题可大致归纳如下:
概述 Apache Airflow 3.0 三大核心主题的图示。图片由 Napkin AI 生成
更易使用
3.0 版本的一个重要目标,是全面提升可用性,从命令行到用户界面,再到底层 API 交互。
现在的 Airflow 更易上手、日常使用更愉悦,也更能支撑复杂的运维需求。
更强安全性
随着隐私监管趋严与数据基础设施规模扩大,安全已成为数据工程的核心关注点。
Airflow 3.0 通过更深层次的架构支持,实现任务隔离与执行控制,以应对这些问题。
这些安全改进既前瞻又具战略意义,契合企业级部署、高度监管行业与现代 DevSecOps 实践的需求。
随处、随时运行
现代数据栈早已不再局限于本地数据中心,甚至也不限于集中式云环境。
Airflow 3.0 通过支持多样的部署拓扑与执行模式来应对这一挑战。
让任务能在任意地点运行(并支持任意时间执行的工作流),为现代数据生命周期的编排提供了无与伦比的灵活性、韧性与可扩展性。
展示“随处、随时运行”的远程集群与本地工作器示意图。来源: Airflow 3.0 Astronomer 介绍视频
本指南接下来将更详细地介绍 Airflow 3.0 的关键主题。
Airflow 3.0 的主要架构变更
Apache Airflow 3.0 重新构想了任务如何执行、可在哪里运行,以及开发者与运维人员如何与系统交互。
其重点在于解耦、模块化、可扩展性与部署灵活性,使 Airflow 能满足混合与多云数据平台的需求。
展示 Airflow 2 与 Airflow 3 架构的对比图。来源: Airflow 3.0 Astronomer 介绍视频
Task Execution API 与 Task SDK
Airflow 3.0 最重要的创新之一是引入 Task Execution API 及配套的 Task SDK。
这些组件使任务的定义与执行可独立于 Airflow 的核心运行时引擎。
其关键影响包括:
这一架构让 Airflow 朝着更灵活、更云原生迈出关键一步。
它与数据工程更广泛的趋势保持一致:语言多样化、容器化与任务级可复现性。
Edge Executor
Edge Executor 是 Airflow 3.0 的另一项变革性新增组件。
它旨在支持事件驱动与地理分布式的任务执行。
与必须在集中式集群中执行不同,Edge Executor 允许任务在数据源处或其附近运行。
边缘执行的主要优势包括:
展示边缘执行关键优势的图示。图片由 Napkin AI 生成
任务隔离与部署拓扑
Airflow 3.0 引入了新级别的任务隔离,大幅提升安全性与性能。
让任务在沙箱环境中运行,可降低数据泄露与资源冲突风险。
同时也带来更灵活的依赖管理:不同任务或 DAG 可以使用各自的库版本、Python 环境或运行时引擎。
这种隔离也有利于平滑升级。Airflow 的核心组件可在不干扰正在运行的任务、或不破坏兼容性的前提下更新。
改进后的架构支持多种面向不同基础设施需求的部署场景。
在公有云环境中,Airflow 工作器可轻松分布到 AWS、GCP 或 Azure 等提供商。
对于私有或混合云部署,控制平面组件可保留在安全网络内,而任务则在 DMZ 或本地数据中心执行。
此外,Airflow 3.0 支持边缘部署,使得在工业或移动硬件上直接进行如 ML 推理或异常检测等用例成为可能。
这些能力支持数据本地化合规、容错调度以及基于 GPU 的加速执行。
CLI 拆分:airflow 与 airflowctl
Airflow 3.0 引入拆分的命令行接口(CLI),以配合模块化后端,区分本地开发与远程运维任务。
airflow
airflowctl
这一划分简化了个人开发者与平台团队各自的工作流。
如需查看技术细节与完整变更列表,请查阅官方 Airflow 3.0 发行说明。
架构增强概要
下表总结了本次架构增强点:
Feature
Description
Task SDK + API
Write and run tasks in any language with remote execution support
Edge Executor
Distributed task execution near data sources or across geographies
Task Isolation
Secure and independent task environments; flexible dependency management
CLI Split
Clear distinction between local (airflow) and remote (airflowctl) commands
Deployment Topologies
Supports hybrid, multi-cloud, edge, and GPU-accelerated execution patterns
全新 React UI 与 DAG 版本管理
Airflow 3.0 带来了彻底重构的用户界面:前端自底向上采用 React 构建,后端框架更换为 FastAPI。
更快、更灵敏的 UI
新的 UI 架构显著提升了使用体验,尤其在有数百甚至上千个 DAG 的环境中表现突出。
页面加载更快、交互更直观,不同视图间的导航体验也保持一致且灵敏。
部分关键 UI 改进包括:
内置深色模式支持
深色模式现已原生且经过深思熟虑地集成到 Airflow 中,提供为清晰度与长时间舒适度优化的视觉体验。
虽然 2.x 版本已有深色模式,但这次发布带来的是完整、专门构建的设计层。
显然其在对比度、可读性与长时间使用时的护眼方面做了细致优化。
作为长期在开发领域工作的人,我对此深表欣赏。
这曾是社区呼声最高的功能之一,尤其适合经常在弱光环境下工作或偏好深色界面的开发者。
下图展示了 Airflow 控制台仪表盘在浅色与深色模式下的视觉差异。
Airflow 控制台浅色模式截图。来源: Airflow 3.0 Astronomer 介绍视频
Airflow 控制台深色模式截图。来源: Airflow 3.0 Astronomer 介绍视频
DAG 版本管理
Airflow 3.0 的一项极具影响力的新能力是对 DAG 的一等公民级版本管理。
Airflow 2.x 的挑战
在以往版本中,DAG 从源代码文件中解析,且最新版本的 DAG 会被全局应用,甚至追溯影响到过去的 DAG 运行。
这带来了一些众所周知的问题。
其中一个主要问题是执行漂移:如果在运行期间更新 DAG,任务可能在不同版本的代码下执行。
同时,由于 Airflow 没有原生机制记录某次执行对应的 DAG 版本,导致审计能力缺失。
另外,历史准确性也受到影响:UI 总是展示最新的 DAG 结构,与实际运行时间无关,从而导致执行历史不一致甚至具有误导性。
Airflow 3.0 的变更
Airflow 3.0 将结构化的 DAG 版本追踪直接引入平台:
我非常认可这一特性,因为在实践中,要创建一个永远无需修改的 DAG 几乎不可能。
无论因新增业务逻辑、修复缺陷,还是优化性能,DAG 都需要不断演进,而内建的版本管理让这一过程更加透明、可控。
下方截图展示了 DAG 编排界面及新的版本历史下拉菜单,您可以看到其实际效果。
DAG 编排界面图。来源: Airflow 3.0 Astronomer 介绍视频
带版本历史下拉菜单的 DAG 编排截图。来源: Airflow 3.0 Astronomer 介绍视频
为什么 DAG 版本管理很重要
DAG 版本管理对于保持可靠、可追溯、合规的数据工作流至关重要,原因如下:
下方截图展示了这些变更在 UI 中的呈现方式:DAG 概览与代码面板均提供了版本感知视图。
Airflow 控制台中 DAG 的概览面板截图。来源: Airflow 3.0 Astronomer 介绍视频)
Airflow 控制台中 DAG 的代码面板截图。来源: Airflow 3.0 Astronomer 介绍视频
协作与透明度
DAG 版本管理也让数据团队的协作更顺畅。例如:
更智能的调度与回填
Airflow 3.0 在工作流的触发、管理与协调方面实现了重要演进。
资产驱动的 DAG
更智能调度的核心是“资产(Assets)”概念。
受早期版本中“数据集(datasets)”演进的启发,新的 @asset 装饰器允许用户基于逻辑数据实体的可用性与状态来驱动流水线。
什么是资产?
在 Airflow 中,资产代表由 DAG 生产、转换或消费的数据或输出。
这可以是数据库表、云存储中的文件、已训练的 ML 模型,甚至是 API 响应。
借助 @asset 装饰器:
下方截图展示了资产在 Airflow 控制台中的可视化方式。
Airflow 控制台中的资产视图截图。来源: Airflow 3.0 Astronomer 介绍视频
Airflow 3.0 中资产的一些关键特性包括:
展示 Airflow 3.0 中资产关键特性的图示。图片由 Napkin AI 生成
这种模型将 DAG 调度从“每小时运行一次”转变为“当相关数据就绪时运行”。
它实现了真正的响应式工作流,与数据状态而非时钟紧密耦合。
关于这些新能力的更深入示例与生产实践,请参阅 Astronomer 的数据感知调度指南。您也可以在《使用 Airflow 构建 ETL 流水线》中学习如何用这些特性实现完整的数据流水线。
外部事件调度
Airflow 3.0 引入对外部事件驱动调度的强大支持,允许基于 Airflow 生态之外的真实触发器启动工作流。
这一特性是对 Airflow 传统轮询式方法的重大转变。
支持的事件源包括 AWS SQS(用于在云原生、解耦的工作流中集成消息队列)、计划中的 Kafka 支持(用于流式与微服务协同),以及 HTTP/webhook(接收来自监控系统、API 或其他编排平台的信号)。
用例涵盖:当新文件落地 S3 时启动数据流水线;响应 ML 模型注册表更新触发 DAG;或协调实时告警与事件响应工作流等。
事件驱动的 DAG 让 Airflow 更灵活、更强大,能够实时响应外部系统。
由调度器管理的回填
Airflow 3.0 对回填机制进行了期待已久的改革,即对过去的数据区间重跑或修复失败 DAG 的过程。
Airflow 2.x 的部分挑战在于缺乏回填的 UI 与 API 支持,必须通过 CLI 手动触发。
因此,Airflow 3.0 做出了如下改进:
展示 Airflow 3.0 改进点的图示。图片由 Napkin AI 生成
Airflow 3.0 对机器学习与 AI 用例的支持
Airflow 3.0 朝着“现代机器学习(ML)与 AI 驱动工作流的一流编排工具”迈出了重要一步。
非数据区间 DAG
3.0 中最具变革的变化之一,是去除了长期存在的执行日期约束。
在 Airflow 2.x 及更早版本中,每次 DAG 运行都必须有唯一的 execution_date,且主要与调度区间相关。
这一模型对基于时间的 ETL 作业很合适,但在实验与推理场景中带来摩擦。
借助非数据区间 DAG,Airflow 3.0 实现了真正的执行独立性:
该变更支持的用例包括:
这种解耦极大简化了 ML 工程师的编排逻辑,并提升自动化、并行性与可复现性。
任务可随时运行
Airflow 3.0 现已正式支持多种执行范式,认识到现代数据工作流并不总是适配固定日程。
此更新让 Airflow 更能适配多样的运维与数据处理需求。
支持的执行模式包括传统的“定时(批处理)执行”,采用类 cron 的调度,适用于夜间报表、整点同步或批量 ETL 流水线。
Airflow 3.0 也支持“事件驱动执行”,即当云存储桶中出现新文件、或 Kafka 上收到消息时触发 DAG,实现响应式、实时编排。此外,还支持“临时/推理执行”,允许 DAG 在无需特定时间戳的情况下运行。
这尤其适用于机器学习推理、数据质量检查或用户触发的作业等关注并发与即时性的场景。
升级至 Airflow 3.0
Airflow 3.0 带来重大改进,同时也在多方面有意地打破了旧有模式。
为助您平稳过渡,核心贡献者提供了详尽、结构清晰的升级指南。
这是一次主版本发布,建议做好充分规划。
尽管如此,升级过程已尽可能简化,并提供清晰的文档、升级清单与兼容性工具。
指南涵盖的部分内容包括:
Apache Airflow 升级至 3.0 网页截图。来源: Apache Airflow
升级前,务必评估以下方面:
如果您希望获得顺畅的升级体验,请在更新前查阅完整的 《升级至 Airflow 3.0》文档。
基于演示的评估
要直观看到 Airflow 3.0 的新特性,Astronomer 提供的官方演示 DAG 为您动手探索平台最新能力提供了绝佳途径。
这些演示是对新特性的全面展示,非常适合理解 DAG 版本管理、资产驱动工作流与事件驱动执行在真实场景中的工作方式。
Airflow 3.0 可能的示例用例截图。来源: Astronomer GitHub
更新后的界面令人眼前一亮。资产视图提供了清晰的数据依赖与血缘的可视化地图,在处理资产驱动的 DAG 时尤其实用。
DAG 版本历史面板是另一个亮点:它便于快速查看历史变更、简化可复现性,并能轻松将特定运行与其对应代码关联起来。
另外,全新设计的深色模式提供了出色的对比度与可读性,对长时间调试或深夜开发尤为友好。
如果您想亲自试用,Astronomer 在其GitHub 仓库中提供了分步说明与即开即用的演示环境。您可以克隆仓库、按指南完成设置,并探索 Airflow 3.0 的新特性。
社区与后续发展
Apache Airflow 一直由社区驱动,这同样适用于 Airflow 3.0。
此次发布中众多影响深远的特性,直接来源于社区调研、GitHub 讨论与用户反馈。
如果您正在使用 Airflow,建议积极参与。以下是您可以发挥影响力的方式:
结语
Apache Airflow 3.0 将面向服务的架构、多语言任务执行、更智能的调度与彻底现代化的 UI 融于一体。
尽管 CLI 拆分与面向边缘的执行器等变化可能让人感到剧烈,但最终的产物是一个更模块化、可扩展、面向生产的编排平台。
它也对 ML 团队、云原生技术栈与事件驱动系统更加友好,在这些场景中,响应性与可观测性至关重要。
如果您仍在使用旧版本 Airflow,值得认真考虑升级至 3.0。
若想上手实践 Airflow,请从我们的课程 Getting Started with Apache Airflow 开始,或在 Introduction to Apache Airflow in Python 中加深对核心概念的理解。