气流 DAG 版本控制

Phi*_*aar 6 airflow

DAG 版本控制是一回事吗?通过几次 Google 搜索,我找不到关于该主题的太多信息。我想查看 Airflow 中的 DAG 屏幕,并确定哪些 DAG 代码在野外。

最简单的解决方案是将版本号作为dag_id 的一部分包含在内,但如果有人有更好的替代解决方案,我将不胜感激。标签也可以工作,并且可能在 UI 中看起来不错——它们是为过滤而设计的,我不确定是否会有不良副作用。

kax*_*xil 11

作为DAG Versioning AIP的作者,我可以说这项工作已推迟到 2.0 后,主要是为了支持端到端 DAG Versioning。

最初,我们(Airflow 核心提交者)计划拥有一个仅限 Web 服务器的 DAG 版本控制,即改善可见性行为,但不改善执行:

此 AIP 的范围是确保 Airflow 的可见性行为正确,而不更改执行行为,该执行行为将继续基于最新版本的 DAG。

这意味着它克服了以下问题:您可以返回到旧版本的 DAG,查看几个月前 DAG 的形状,并且您可以看到正确的表示形式,而不是“始终最新”。

目前,Airflow 存在这样的问题:如果您添加/删除任务,它会在 Web 服务器中的所有先前 DagRun 中添加/删除。

然而,我们决定,我们将完成远程 DAG Fetcher + DAG 版本控制,并在工作端启用 DAG 版本控制,因此用户也可以使用以前的版本运行 DAG。

目前,我们还没有确定日期,但主要计划在 2023/24 年左右进行。


Mer*_*lin 2

Airflow 项目有一个开放的草案功能来支持 DAG 版本。目前的答案是Airflow不支持版本。

链接中的第一个用例描述了一个关键限制,以前运行的日志文件只能显示当前 DAG 中的节点。