Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)
Nesta página, descrevemos como agrupar tarefas em pipelines do Airflow usando os seguintes padrões de design:
- Agrupar tarefas no gráfico do DAG.
- Como acionar DAGs filhos de um DAG pai.
- Como agrupar tarefas com o operador
TaskGroup.
Agrupar tarefas no gráfico do DAG
Para agrupar tarefas em determinadas fases do pipeline, use as relações entre as tarefas no arquivo DAG.
Veja o exemplo a seguir.
Neste fluxo de trabalho, as tarefas op-1 e op-2 são executadas juntas após a tarefa inicial start. Para isso, agrupe as tarefas com a instrução
start >> [task_1, task_2].
O exemplo a seguir fornece uma implementação completa desse DAG:
Acionar DAGs filhos de um DAG pai
É possível acionar um DAG de outro DAG com o
TriggerDagRunOperator operador.
Veja o exemplo a seguir.
Neste fluxo de trabalho, os blocos dag_1 e dag_2 representam uma série de tarefas agrupadas em um DAG separado no ambiente do Airflow gerenciado.
A implementação desse fluxo de trabalho requer dois arquivos DAG separados. O arquivo DAG de controle tem a seguinte aparência:
A implementação do DAG filho, que é acionada pelo DAG de controle, tem a seguinte aparência:
É preciso fazer upload dos dois arquivos DAG no ambiente do Airflow gerenciado para que o DAG funcione.
Como agrupar tarefas com o operador TaskGroup
É possível usar o
TaskGroup operador para agrupar tarefas
no DAG. As tarefas definidas em um bloco TaskGroup ainda fazem parte do DAG principal.
Veja o exemplo a seguir.
As tarefas op-1 e op-2 são agrupadas em um bloco com o ID taskgroup_1. Uma implementação desse fluxo de trabalho se parece com o seguinte código: