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