パラメーターノードは、ワークフロー内でパラメーターを管理し、タスクノード間で受け渡すための特殊な仮想ノードです。定数パラメーター、変数パラメーター、および上流ノードからのパススルー パラメーターをサポートします。パラメーターを必要とするノードは、パラメーターノードに依存関係を設定するだけで済みます。本トピックでは、DataWorks における効率的なデータ開発のためにパラメーターノードを作成する方法について説明します。
概要
パラメーターノードは、データ計算タスクを実行せず、データを生成しない仮想ノードです。主にノード間でのパラメーター受け渡しと、パラメーターの一元管理に使用されます。
-
ノード間でのパラメーター受け渡し
ワークフローにおいて、下流ノードが複数の階層にわたる複数の上流ノードから出力パラメーターを必要とする場合、パラメーターノードを使用してそれらを統合できます。必要なすべてのパラメーターをパラメーターノードに追加し、下流ノードがパラメーターノードに直接依存するように設定することで、必要なすべてのパラメーターにアクセスできます。
上図において、
Sq_MySQL_GノードはSq_MySQL_BノードおよびSq_MySQL_Eノードの出力パラメーターを必要としています。Sq_MySQL_BおよびSq_MySQL_Eの両方の下流ノードとしてパラメーターノードを使用し、Sq_MySQL_Gが必要とするすべてのパラメーターをパラメーターノードに追加します。その後、Sq_MySQL_Gをパラメーターノードの下流ノードとして設定し、その出力パラメーターを受け取ります。これにより、Sq_MySQL_Gはパラメーターノード経由でSq_MySQL_BおよびSq_MySQL_Eのパラメーターを取得できます。 -
パラメーターの一元管理
ワークフロー内の下流タスクノードが特定の定数または変数パラメーターを使用する必要がある場合、これらのパラメーターをすべて 1 つのパラメーターノードに追加できます。これらのパラメーターを必要とする下流ノードは、パラメーターノードに直接依存関係を設定します。このアプローチにより、ワークフロー全体のパラメーター管理が一元化されます。
上図において、
Sq2_MySQL_A、Sq2_MySQL_C、Sq2_MySQL_D、Sq2_MySQL_E、およびSq2_MySQL_Fノードはすべてパラメーターを必要としています。パラメーターノードを使用して上流ノードから出力パラメーターを取得し、必要な変数または定数パラメーターを構成できます。このパラメーターノードは、これらのパラメーターを必要とするノードの上流依存関係として機能します。
前提条件
ご利用の RAM ユーザーがワークスペースに追加されていること。
RAM ユーザーを使用してタスクを開発する場合は、その RAM ユーザーをワークスペースのメンバーとして追加し、開発 ロールまたは ワークスペース管理者 ロールを割り当てる必要があります。ワークスペース管理者ロールには不要な権限が多く含まれるため、割り当てには十分ご注意ください。メンバーの追加およびロールの割り当て方法の詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
-
サーバーレスリソースグループがワークスペースに関連付けられていること。詳細については、「サーバーレスリソースグループの使用」ディレクトリ内のトピックをご参照ください。
-
パラメーターノードを構成する前に、作成しておく必要があります。詳細については、「スケジューリングワークフロー用ノードの作成」をご参照ください。
注意事項
パラメーターノードのパラメーターを参照するには、タスクノードがその直接の下流ノードである必要があり、かつパラメーターノードを上流依存関係として設定する必要があります。
ステップ 1:パラメーターノードの構成
パラメーターノード内では、定数パラメーター、変数パラメーター、およびパススルー変数を作成できます。以下のセクションでは、これら 3 種類のパラメーターを構成する方法について説明します。
定数パラメーターの追加
定数パラメーターは固定値を持ち、パラメーターノード内で直接構成できます。
-
パラメーターノードエディターを開き、左上隅のパラメーター追加ボタンをクリックしてパラメーターを追加します。
-
定数パラメーターを構成します。
パラメーター
説明
パラメーター名
カスタムパラメーター名。
説明この名前は、下流ノードがパラメーターを追加する際に選択に使用されます。
パラメーター種別
定数。
値
ビジネス要件に基づくカスタム定数値。
説明
ビジネス要件に基づくパラメーターの説明。
-
定数パラメーターを構成したら、[操作] 列の Save をクリックしてパラメーターを保存します。
変数パラメーターの追加
パラメーター値がシステム時刻変数などの変数である場合は、パラメーターを追加する際にパラメーター種別を「変数」に設定します。
-
パラメーターノードエディターを開き、左上隅のパラメーター追加ボタンをクリックしてパラメーターを追加します。
-
変数パラメーターを構成します。
パラメーター
説明
パラメーター名
カスタムパラメーター名。
説明この名前は、下流ノードがパラメーターを追加する際に選択に使用されます。
パラメーター種別
変数。
値
ビジネス要件に基づくカスタム変数値。
説明変数パラメーターの詳細については、「スケジューリングパラメーターの構成」をご参照ください。
説明
ビジネス要件に基づくパラメーターの説明。
-
変数パラメーターを構成したら、[操作] 列の Save をクリックしてパラメーターを保存します。
パススルー変数パラメーターの追加
パススルー変数は、上流ノードの出力パラメーターを下流ノードに受け渡すために使用されます。その値は、パラメーターノードのスケジュール設定で指定された上流依存関係ノードの任意の出力パラメーターに設定できます。
-
パラメーターノードエディターを開き、右側のスケジュール設定をクリックします。 で [依存関係の追加] をクリックし、パススルー対象のパラメーターを持つノードを上流依存関係として構成します。
-
依存関係を構成したら、Scheduling Parameters に切り替え、Add parameters をクリックします。以下の設定を行います。
-
新しいパラメーターのカスタム名を入力します。
-
ボタンをクリックして、上流ノードの出力パラメーターを検索し、関連付けます。
-
-
パラメーターの構成が完了したら、スケジュール設定パネルを閉じます。パラメーターノードページで Add をクリックし、以下の設定を行います。
パラメーター
説明
パラメーター名
カスタムパラメーター名。
説明この名前は、下流ノードがパラメーターを追加する際に選択に使用されます。
パラメーター種別
パススルー変数。
値
ドロップダウンリストから、スケジュール設定で関連付けた上流パラメーターを選択します。
説明
ビジネス要件に基づくパラメーターの説明。
-
パススルー変数パラメーターを構成したら、[操作] 列の Save をクリックしてパラメーターを保存します。
パラメーターノードのパラメーター構成が完了したら、スケジュール設定を構成してください。詳細については、「スケジュール設定の構成」をご参照ください。
ステップ 2:下流ノードでのパラメーター使用
パラメーターノードを構成した後、下流ノードでそのパラメーターを直接使用することで、パラメーターの一元管理と開発効率の向上を実現できます。
下流ノードでパラメーターノードのパラメーターを使用するには、下流ノードのスケジューリングパラメーターでパラメーターを追加し、パラメーターノードと関連付ける必要があります。
-
上流のパラメーターノードパラメーターを関連付けます。
-
パラメーターノードエディターを開き、右側のスケジュール設定をクリックします。 で [依存関係の追加] をクリックし、パラメーターノードを上流依存関係として構成します。
-
依存関係を構成したら、Scheduling Parameters に切り替え、Add parameters をクリックします。以下の設定を行います。
-
新しいパラメーターのカスタム名を入力します。
-
ボタンをクリックして、上流のパラメーターノードの出力パラメーターを検索し、関連付けます。
-
-
-
パラメーターを構成したら、ノードスクリプト内で
${parameter name}を使用して、パラメーターノードから受け渡されたパラメーターを参照できます。