Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se describe cómo puedes agrupar tareas en tus canalizaciones de Airflow con los siguientes patrones de diseño:
- Agrupación de tareas en el grafo de DAG.
- Activación de DAG secundarios desde un DAG superior.
- Agrupación de tareas con el operador
TaskGroup
Agrupación de tareas en el grafo de DAG
Para agrupar tareas en ciertas fases de tu canalización, puedes usar relaciones entre las tareas de tu archivo de DAG.
Considera el siguiente ejemplo:

En este flujo de trabajo, las tareas op-1
y op-2
se ejecutan en conjunto después de la tarea inicial start
. Para lograrlo, agrupa las tareas junto con la declaración start >> [task_1, task_2]
.
En el siguiente ejemplo, se proporciona una implementación completa de este DAG:
Activación de DAG secundarios desde un DAG superior
Puedes activar un DAG desde otro DAG con el operador TriggerDagRunOperator
.
Considera el siguiente ejemplo:

En este flujo de trabajo, los bloques dag_1
y dag_2
representan una serie de tareas que se agrupan en un DAG independiente en el entorno de Cloud Composer.
La implementación de este flujo de trabajo requiere dos archivos DAG separados. El archivo de DAG de control se ve de la siguiente manera:
La implementación del DAG secundario, que se activa mediante el DAG de control, se ve de la siguiente manera:
Debes subir ambos archivos de DAG en tu entorno de Cloud Composer para que el DAG funcione.
Agrupación de tareas con el operador TaskGroup
Puedes usar el operador TaskGroup
para agrupar tareas en tu DAG. Las tareas definidas dentro de un bloque TaskGroup
siguen siendo parte del DAG principal.
Considera el siguiente ejemplo:

Las tareas op-1
y op-2
se agrupan en un bloque con el ID taskgroup_1
. Una implementación de este flujo de trabajo es similar al siguiente código: