假设我有以下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输出运行?它能自动完成吗?
crcmnpdw1#
为此,可以使用triggerdagrunoperatorhttps://www.astronomer.io/guides/trigger-dag-operator/您还可以考虑使用subdag操作符将这些dag合并为单个dag。在这种情况下,子dag b、c、d可以依赖于子dag a。
baubqpgj2#
您可以有一个单独的主dag(控制器dag)并使用TriggerDAGRonOperator来触发不同的dag。使用triggerdagrunoperator的任务之间的依赖关系可以通过以下方式设置:
dag_a >> [dag_b, dag_c, dag_d] >> ...
2条答案
按热度按时间crcmnpdw1#
为此,可以使用triggerdagrunoperatorhttps://www.astronomer.io/guides/trigger-dag-operator/
您还可以考虑使用subdag操作符将这些dag合并为单个dag。在这种情况下,子dag b、c、d可以依赖于子dag a。
baubqpgj2#
您可以有一个单独的主dag(控制器dag)并使用TriggerDAGRonOperator来触发不同的dag。
使用triggerdagrunoperator的任务之间的依赖关系可以通过以下方式设置: