入力パラメーターと出力パラメーターは、先祖ノードと子孫ノード間でパラメーター設定を転送するために使用されます。このトピックでは、入力パラメーターと出力パラメーターを定義して使用する方法について説明します。
背景情報
ノードの出力パラメーターとその値を定義した後、子孫ノードの入力パラメーターを定義し、出力パラメーターの値を参照するように設定できます。
注意
パラメーター転送とクエリ結果転送の説明:
パラメーターの受け渡し: 上流ノードから下流ノードにパラメーター情報を渡すには、上流ノードの [ノードコンテキストパラメーター] セクションの [出力パラメーター] を、下流ノードの [ノードコンテキストパラメーター] セクションの [入力パラメーター] として設定します。
クエリ結果の受け渡し: 上流ノードから下流ノードにクエリ結果を渡すには、上流ノードの [ノードコンテキストパラメーター] セクションの [代入パラメーター] を、下流ノードの [ノードコンテキストパラメーター] セクションの [入力パラメーター] として設定します。また、代入ノード を使用してクエリ結果を渡すこともできます。
説明クエリ結果の受け渡しは、EMR Hive、EMR Spark SQL、ODPS Script、Hologres SQL、AnalyticDB for PostgreSQL、Click House SQL、MySQL ノードなどの特定のノードでのみサポートされています。この機能は、代入ノードと同様に機能します。詳細については、「代入ノード」をご参照ください。
制限
[代入パラメーターの使用] 機能は、DataWorks Standard Edition 以上のエディションでのみサポートされています。
パラメーター設定セクションへのアクセス
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発へ] をクリックします。
[データ開発] ウィンドウで、目的のノードをダブルクリックして編集ページを開きます。
右側の [スケジューリング設定] をクリックし、[ノードコンテキストパラメーター] セクションで、右側の
アイコンをクリックします。これにより、ノードコンテキストパラメーターの設定セクションが開きます。説明スケジューリングパラメーターの設定方法の詳細については、「SQL タイプのノードとオフライン同期ノード」をご参照ください。
出力パラメーターの設定
[ノードコンテキストパラメーター] セクションで現在のノードの出力パラメーターを設定する際、必要に応じて設定できます。
標準出力パラメーターの設定: 現在のノードに設定されている定数または変数の出力パラメーターを下流ノードに渡すことができます。
代入出力パラメーターの設定: 現在のノードのクエリ結果を出力パラメーターとして設定し、下流ノードに渡して使用できます。
通常の出力パラメーターの設定
先祖ノードで設定されたパラメーター情報を子孫ノードに転送する場合は、以下の内容をご参照ください。
パラメーター | 設定の説明 |
番号 | シリアル番号。入力パラメーターを定義するたびに自動的に 1 ずつ増加します。 |
パラメーター名 | 出力パラメーター名をカスタマイズする必要があります。 |
タイプ | [定数] と [変数] をサポートしています。必要に応じて選択して設定できます。 |
値 | 出力パラメーターの値。値のタイプは定数または変数にすることができます:
|
説明 | パラメーターの説明。 |
ソース | パラメーターが定義される方法。 有効な値: [自動追加]、[自動解析]、[手動追加]。 |
アクション | [保存]、[編集]、[削除] の操作を提供します。 説明 下流ノードがこのノードに依存している場合、編集と削除はサポートされません。下流ノードが上流ノードを参照するように設定する前に、上流の出力が正しく定義されていることを注意深く確認してください。 |
関連するパラメーターを設定した後、[アクション] 列の [保存] をクリックします。
代入出力パラメーターの設定
現在のタスクのクエリ結果をパラメーターとして下流タスクに渡す場合は、以下の内容をご参照ください。
ノードの セクションを見つけます。
[代入パラメーターの追加] をクリックして、出力代入パラメーターを追加します。
[代入パラメーターの追加] をクリックすると、代入パラメーターは現在のノードのクエリ結果をこのパラメーターを参照する下流ノードに渡します。クエリが空の結果を返した場合、現在のノードはブロックされませんが、パラメーターを参照する下流ノードは失敗する可能性があります。
下流ノードは、上流ノードの代入パラメーターを入力パラメーターに追加する必要があります。このパラメーターは、ODPS SQL を使用する代入ノードと同じ方法で使用されます。詳細については、「代入ノード」をご参照ください。
[このノードの出力パラメーター] を設定した後、 セクションで、[追加方法] が [システムによる追加] である [出力名] を見つけることができます。下流ノードは、この [出力名] を使用して現在のノードへの依存関係を作成できます。
入力パラメーターの設定
入力パラメーターと出力パラメーターのセクションで入力パラメーターを設定して、上流ノードから出力パラメーターを取得し、現在のノードで使用できます。
ノードの入力パラメーターを定義して、その先祖ノードに定義された出力パラメーターを参照できます。ノードコード内のスケジューリングパラメーターを変数に代入するのと同じ方法で、ノードのコードで入力パラメーターを使用できます。
現在のノードがノードに依存するようにスケジューリング依存関係を設定した後、現在のノードは、その先祖ノードに定義された出力パラメーターを、[入力パラメーター] セクションで現在のノードの入力パラメーターとして参照できます。
先祖ノードの 出力パラメーターを設定します。
依存関係を設定します。
下流ノードの設定ページの右側にある [スケジューリング設定] をクリックします。
の下にある [ノード出力] のテキストボックスに、「出力パラメーターを設定する」で上流ノードに指定した [出力名] を入力して選択します。
[追加] をクリックします。
下流ノードの入力パラメーターを設定します。
[ノードコンテキストパラメーター] セクションで [追加] をクリックして、現在のノードの入力パラメーターを追加します。パラメーターの詳細については、次の表をご参照ください:
パラメーター
設定の説明
番号
シリアル番号。入力パラメーターを定義するたびに自動的に 1 ずつ増加します。
パラメーター名
パラメーター名をカスタマイズする必要があります。後で、ノード編集ページでこのパラメーター名を通じて上流ノードから渡されたパラメーター情報を参照できます。
値ソース
パラメーター値は上流ノードの出力パラメーターから取得され、特定の値は上流ノードの実際の出力結果です。
説明
パラメーターの簡単な説明をカスタマイズできます。
親ノード ID
システムは先祖ノードの ID を解析します。
ソース
パラメーターが定義される方法。
有効な値: [自動追加]、[自動解析]、[手動追加]。
アクション
[保存]、[編集]、[削除] の操作を提供します。
関連するパラメーターを設定した後、[アクション] 列の [保存] をクリックします。
入力パラメーターの使用
定義された入力パラメーターは、他の組み込みスケジューリングパラメーターと同じように、${入力パラメーター名} 形式で参照することでノード内で使用できます。次の例は、Shell ノードでパラメーターを参照する方法を示しています。

先祖ノードと現在のノードが順番に実行されるようにするには、先祖ノードと現在のノードが属するワークフローを実行する必要があります。そうしないと、現在のノードに定義されている入力パラメーターは無効になります。
サポートされている組み込みスケジューリングパラメーター
システム変数
システム変数
説明
${projectId}
プロジェクト ID。
${projectName}
MaxCompute プロジェクトの名前。
${nodeId}
ノード ID。
${gmtdate}
インスタンスが実行される予定の日の 00:00:00 の時刻。yyyy-MM-dd 00:00:00 形式です。
${taskId}
タスクインスタンスの ID。
${seq}
タスクインスタンスのシーケンス番号。同じ日に同じノードのすべてのインスタンスの中でのこのインスタンスの順位を示します。
${cyctime}
ノードインスタンスが実行される予定の時刻。
${status}
インスタンスのステータス。有効な値: SUCCESS と FAILURE。
${bizdate}
データタイムスタンプ。
${finishTime}
ノードインスタンスの実行が終了した時刻。
${taskType}
インスタンスが実行されるモード。有効な値: NORMAL、MANUAL、PAUSE、SKIP、UNCHOOSE、および SKIP_CYCLE。
${nodeName}
ノードの名前。
その他のパラメーターの詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。