Воздушный поток: как повторно запустить зависимые группы доступности баз данных - PullRequest
0 голосов
/ 21 февраля 2020

Предположим, у меня есть следующие зависимости группы доступности базы данных:

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

Эти группы обеспечения доступности баз данных работают ежедневно, а выходные данные группы доступности базы данных A потребляются группой обеспечения доступности баз данных B, C, D соответственно.

Если DAG A не удалось (например, в работе Spark была ошибка, и мы хотим повторно выполнить ее после исправления), как убедиться, что мы также повторно запускаем DAG B, C, D et c, чтобы теперь они выполнялись с фиксированным выходом DAG A? Можно ли это сделать автоматически?

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Вы можете иметь отдельный Главный DAG ( controller_dag ) и использовать TriggerDagRunOperator для запуска различных DAG.

Зависимости между задачами с использованием TriggerDagRunOperator могут быть установлены следующим образом:

dag_a >> [dag_b, dag_c, dag_d] >> ...
0 голосов
/ 22 февраля 2020
  • Для этой цели вы можете использовать TriggerDagRunOperator https://www.astronomer.io/guides/trigger-dag-operator/

  • Вы также можете рассмотреть возможность объединения этих групп DAG в один DAG с помощью SubDAGOperator , В этом случае Sub-DAGs b, c, d могут зависеть от Sub-DAG a.

...