Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
このページでは、次の設計パターンを使用して Airflow パイプラインでタスクをグループ化する方法について説明します。
- DAG グラフ内のタスクのグループ化。
- 親 DAG からの子 DAG のトリガー。
TaskGroup演算子を使用したタスクのグループ化。
DAG グラフ内のタスクをグループ化する
パイプラインの特定のフェーズでタスクをグループ化するには、DAG ファイルのタスク間の関係を使用します。
次に例を示します。
このワークフローでは、タスク op-1 と op-2 が最初のタスク start の後に一緒に実行されます。これを実現するには、ステートメント start >> [task_1, task_2] を使用してタスクをグループ化します。
次の例は、この DAG の完全な実装を示しています。
Airflow 2
Airflow 1
親 DAG からの子 DAG のトリガー
TriggerDagRunOperator 演算子を使用して、1 つの DAG から別の DAG をトリガーできます。
次に例を示します。
このワークフローで、ブロック dag_1 と dag_2 は、Cloud Composer 環境の別の DAG でグループ化された一連のタスクを表します。
このワークフローを実装するには、2 つの個別の DAG ファイルが必要です。制御 DAG ファイルは次のようになります。
Airflow 2
Airflow 1
子 DAG の実装は、次に示すように、制御 DAG によってトリガーされます。
Airflow 2
Airflow 1
DAG を機能させるには、Cloud Composer 環境に両方の DAG ファイルをアップロードする必要があります。
TaskGroup 演算子を使用したタスクのグループ化
この方法は Airflow 2 でのみ機能します。TaskGroup 演算子を使用して、DAG 内でタスクをグループ化できます。TaskGroup ブロック内で定義されたタスクは、引き続きメイン DAG の一部です。
次に例を示します。
タスク op-1 と op-2 は、ID taskgroup_1 のブロックにグループ化されています。このワークフローの実装は次のコードのようになります。