在 DAG 运行期间动态生成 DAG - Airflow
Posted
技术标签:
【中文标题】在 DAG 运行期间动态生成 DAG - Airflow【英文标题】:Dynamically generate a DAG during a DAG Run - Airflow 【发布时间】:2021-12-27 17:02:42 【问题描述】:我想知道您是否可以在 DAG 运行中轻松动态地生成 DAG,例如:
DAG A 将是:
-
做一些数据计算
根据之前的结果生成 DAG B
将 DAG B 装入气流 DagBag
DAG B 的 TriggerDagRunOperator
最后一个 DAG B 任务的外部任务传感器。
干杯,
【问题讨论】:
【参考方案1】:这是可能的。您需要生成一个文件,该文件在解析时会生成 DAG B。您不能只生成 DAG 对象作为 DAG A 的一部分。您将需要对所有 Airflow 组件(调度程序、网络服务器和工作程序)中的 DagBag 文件夹的写入权限)。另外,在使用 TriggerDagRun Operator 触发 DAG B 文件之前,请留出一些时间来解析它。
所有这一切都有点老套。 AIP-42 正在开发中,这将允许根据其他结果修改 DAG 中的任务,我认为这将有助于您获得所需的效果。
【讨论】:
以上是关于在 DAG 运行期间动态生成 DAG - Airflow的主要内容,如果未能解决你的问题,请参考以下文章