气流:如何重新运行依赖的DAG

qmb5sa22  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(500)

假设我有以下dag依赖项:

/> DAG B -->....
       /
      /
DAG A ---> DAG C -->...
      \
       \
        \> DAG D -->...

这些dag每天运行,dag a的输出分别由dag b、c、d消耗。
如果dag a失败了(例如spark作业有一个bug,我们想在修复后重新执行它),如何确保我们也重新运行dag b、c、d等,以便现在它们以修复的dag a输出运行?它能自动完成吗?

crcmnpdw

crcmnpdw1#

为此,可以使用triggerdagrunoperatorhttps://www.astronomer.io/guides/trigger-dag-operator/
您还可以考虑使用subdag操作符将这些dag合并为单个dag。在这种情况下,子dag b、c、d可以依赖于子dag a。

baubqpgj

baubqpgj2#

您可以有一个单独的主dag(控制器dag)并使用TriggerDAGRonOperator来触发不同的dag。
使用triggerdagrunoperator的任务之间的依赖关系可以通过以下方式设置:

dag_a >> [dag_b, dag_c, dag_d] >> ...

相关问题