すべてのプロダクト
Search
ドキュメントセンター

DataWorks:入力パラメーターと出力パラメーターの設定

最終更新日:Mar 26, 2026

DataWorks のノードは分離して実行されるため、メモリや状態を直接共有することはできません。入力パラメーターと出力パラメーターを使用すると、ノードは定数、変数、またはクエリ結果などの値を実行時に下流ノードに渡すことができ、パイプライン全体で動的なスケジューリングが可能になります。

仕組み

上流ノードは 出力パラメーター とその値を宣言します。下流ノードは、その出力を参照する入力パラメーターを宣言します。パイプラインが実行されると、DataWorks は参照を解決し、上流の値を下流ノードに挿入します。

全体の流れは次のようになります:

上流ノード → 出力パラメーターを定義 → 依存関係リンク (出力名) → 下流ノード → 入力パラメーターを宣言 → コード内で ${parameter_name} として値を参照

パラメータータイプの選択

DataWorks は、ノード間でデータを渡すための 2 つの方法をサポートしています:

メソッド仕組み使用シーン
標準出力パラメーター定数文字列または変数 (スケジューリングパラメーター、グローバル変数) を渡します日付、ID、設定値、またはその他の小さなスカラー値を渡す場合
代入出力パラメーター現在のノードのクエリ結果を渡しますSQL クエリの結果セットを下流ノードに渡す場合

制限事項:

  • [代入パラメーターの追加] オプションには、DataWorks Standard Edition 以上が必要です。

  • ノードが結果を生成しない場合でも、ノードは成功しますが、代入パラメーターを参照する下流ノードは失敗する可能性があります。

  • 代入パラメーターをサポートしているのは、EMR Hive、EMR Spark SQL、ODPS Script、Hologres SQL、AnalyticDB for PostgreSQL、ClickHouse SQL、MySQL のノードタイプのみです。他のノードタイプでは、代わりに 代入ノード を使用してください。

前提条件

開始する前に、以下を確認してください:

  • 上流・下流関係にある少なくとも 2 つのノードを持つ DataWorks ワークスペース

  • DataWorks Standard Edition 以上 (代入パラメーターにのみ必要)

パラメーター設定セクションを開く

  1. DataWorks コンソールにログインします。上部のナビゲーションバーで、対象のリージョンを選択します。左側のナビゲーションウィンドウで、[データ開発と O&M] > [データ開発] を選択します。ドロップダウンリストからご利用のワークスペースを選択し、[データ開発へ] をクリックします。

  2. [データスタジオ] ページで、ノードをダブルクリックしてエディターを開きます。

  3. 右側のペインで [プロパティ] をクリックします。[入力パラメーターと出力パラメーター] セクションで、image アイコンをクリックします。

説明 SQL 型ノードおよびオフライン同期ノードのスケジューリングパラメーターの構成については、「SQL 型ノードおよびオフライン同期ノード」をご参照ください。

出力パラメーターの設定

標準出力パラメーターの設定

標準出力パラメーターは、現在のノードから下流ノードへ定数または変数を渡します。

[入力パラメーターと出力パラメーター] セクションで、現在のノードの出力パラメーターを設定できます。以下のフィールドに入力します:

フィールド説明
No.自動生成されるシーケンス番号。
パラメーター名出力パラメーターのカスタム名。
タイプ[定数] または [変数] を選択します。
渡す値。定数は固定文字列です。変数は、システムのグローバル変数、組み込みのスケジューリングパラメーター、または ${...}$[...] 形式のカスタムパラメーターにすることができます。
説明パラメーターの簡単な説明。
追加方法パラメーターの追加方法:[自動追加][コード解析]、または [手動追加]
アクション[保存][変更]、または [削除] します。

[アクション] 列の [保存] をクリックします。

説明 [変更] および [削除] は、ダウンストリームノードがこのパラメーターに依存している場合、使用できません。ダウンストリームノードが参照する前に、出力パラメーターの定義を注意深く確認してください。

代入出力パラメーターの設定

代入出力パラメーターは、現在のノードのクエリ結果を下流ノードに渡します。

  1. [入力パラメーターと出力パラメーター] > [出力パラメーター] セクションで、[代入パラメーターの追加] をクリックします。システムは、クエリ結果を参照する任意の下流ノードに渡すようにパラメーターを自動的に設定します。

  2. パラメーターが作成された後、[依存関係] > [現在のノードの出力名] に移動して、生成された出力名を見つけます。この出力の [追加モード][自動追加] です。下流ノードは、この出力名を使用して現在のノードへの依存関係を宣言します。

説明 実行時にノードが結果を生成しない場合でも、現在のノードは正常に実行されます。ただし、代入パラメーターを参照する下流ノードは失敗する可能性があります。

入力パラメーターの設定

入力パラメーターを使用すると、下流ノードは上流の出力パラメーターから値を取得して使用できます。上流の出力パラメーターと依存関係の両方が設定された後に、これらを設定します。

ステップ 1:上流ノードでの出力パラメーターの設定

出力パラメーターの設定」の手順に従い、上流ノードが渡す値を定義します。

ステップ 2:依存関係の確立

  1. 下流ノードのエディターを開き、右側のペインで [プロパティ] をクリックします。

  2. [依存関係] > [親ノード] セクションで、上流ノードの出力パラメーターの [出力名] を入力して選択します。

  3. [作成] をクリックします。

ステップ 3:入力パラメーターの追加

下流ノードの [入力パラメーターと出力パラメーター] セクションで、[作成] をクリックし、以下のフィールドに入力します:

フィールド説明
No.自動生成されるシーケンス番号。
パラメーター名入力パラメーターのカスタム名。この名前を使用して、ノードのコード内で値を参照します。
値のソース値は上流ノードの出力パラメーターから取得されます。
説明パラメーターの簡単な説明。
親ノード ID上流ノードから自動的に解析されます。
追加方法パラメーターの追加方法:[自動追加][コード解析]、または [手動追加]
アクション[保存]、変更、または[削除]します。

[アクション] 列の [保存] をクリックします。

ノードコードでの入力パラメーターの使用

ノードコード内で入力パラメーターを参照するには、${parameter_name} を使用します。この構文は、他のスケジューリングパラメーターと同じです。

次の例は、Shell ノードで入力パラメーターを参照する方法を示しています:

image
重要

個々のノードではなく、ワークフロー全体を実行してください。下流ノードを単独で実行すると、入力パラメーターを解決できず、実行は失敗します。

システムがサポートするグローバル変数

[変数] タイプの出力パラメーターの値として、以下のグローバル変数を使用できます:

システム変数

変数説明
${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}実行タイプ:NORMALMANUALPAUSESKIPUNCHOOSE、または SKIP_CYCLE
${nodeName}ノード名。

他のスケジューリングパラメーターの形式については、「サポートされているスケジューリングパラメーターの形式」をご参照ください。

次のステップ