我很高兴地宣布,Apache Airflow 2.6.0 已正式发布,为社区带来了许多细小的功能和改进。

Apache Airflow 2.6.0 包含超过 500 次提交,其中包括 42 项新功能、58 项改进、38 条错误修复以及 17 项文档更改。

详情:

📦 PyPI: https://pypi.ac.cn/project/apache-airflow/2.6.0/
📚 文档: https://airflow.org.cn/docs/apache-airflow/2.6.0/
🛠 发布说明: https://airflow.org.cn/docs/apache-airflow/2.6.0/release_notes.html
🐳 Docker 镜像: “docker pull apache/airflow:2.6.0”
🚏 约束文件: https://github.com/apache/airflow/tree/constraints-2.6.0

由于变更日志非常庞大,以下列出本次发布中一些值得注意的新特性。

现在可以在 Web 服务器中查看触发日志

触发日志已被加入到任务日志中,出现在任务的其余日志旁边。

Trigger logs shown in task log

实现此功能需要对整个 Airflow 日志栈进行改动,如果您使用远程日志,请务必更新相应的 provider。

网格视图改进

本次发布对网格视图进行了一系列小幅改进。

最显著的是,网格视图中新增了“图表”标签页。该标签页提供了更具集成性的 DAG 图形展示,选择网格或图形视图中的任意任务时,两者都会同步高亮同一任务。

The new graph view

您还可以基于单个任务一次性筛选其上游和下游任务。例如,在上图中,describe_integrity 为当前选中的任务。若选择筛选下游任务,则会得到如下结果。

The new graph view can be filtered to show downstream tasks only

基于 DAG 级别参数的触发 UI

当 DAG 使用 DAG 级别参数时,触发运行的用户将看到一个友好的表单。

Form shown for params in UI when triggering a DAG

更多细节请参阅 Params 文档

统一处理卡住的排队任务

Airflow 现在提供一个统一的配置项 [scheduler] task_queued_timeout,用于处理在队列中卡住过久的任务。相较于之前分散的实现,这一配置更简洁,能够防止任务长时间卡在队列中而被遗漏。

更多细节请阅读 Unsticking Airflow:Stuck Queued Tasks are No More in 2.6.0(Medium)文章。

Cluster Policy 钩子可以来自插件

Cluster Policy 钩子(例如 dag_policy)现在既可以来自 Airflow 本地设置,也可以来自 Airflow 插件。通过允许定义多个钩子,多个团队可以在同一 Airflow 实例中共用钩子,使用更加灵活。

更多细节请参阅 Cluster Policy 文档

新增通知支持

通知框架允许在任务实例或 DAG 运行状态发生变化时向外部系统发送消息。例如,您可以轻松地将消息推送到 Slack。

with DAG(
    slack_notifier_example,
    start_date=datetime(2023, 1, 1),
    on_success_callback=[
        send_slack_notification(
            text="The DAG {{ dag.dag_id }} succeeded",
            channel="#general",
            username="Airflow",
        )
    ],
):

截至目前,Slack 是唯一开箱即用支持的系统。但请持续关注,后续会加入更多集成。

您也可以自行编写 notifier,详情请参考 Notifier 使用指南

感谢贡献者

感谢所有为本次发布作出贡献的人员,包括 Andrey Anshin、Ash Berlin-Taylor、Brent Bovenzi、Daniel Standish、Ephraim Anierobi、Hussein Awala、Jarek Potiuk、Jed Cunningham、Josh Fell、Michael Petro、Niko Oliveira、Pierre Jeambrun、Tzu-ping Chung、Victor Chiapaikeo,以及另外超过 120 位贡献者!

特别感谢我们的发布经理 Ephraim,正是他让本次发布顺利完成。

希望您使用 Apache Airflow 2.6.0 时获得良好体验!

分享

阅读更多

Apache Airflow 2.9.0:数据集和 UI 改进

Jed Cunningham

Apache Airflow 2.9.0 已上线!本次带来了大量激动人心的数据集和 UI 新特性/改进。

Apache Airflow 2.7.0 已上线

Jed Cunningham

Apache Airflow 2.7.0 已发布!