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

Dataphin:ノード間出力パラメーターへの値の割り当て

最終更新日:Jan 14, 2026

ノード間パラメーター機能を使用すると、ノード間でメッセージを渡すことができます。SQL、Shell、Python などの出力ノードはパラメーターを出力でき、入力ノードはこれらのパラメーターを受け取って使用できます。このプロセスにより、パブリックストレージを介してメッセージを渡す際の複雑さと非効率性が解消されます。このトピックでは、ノード間出力パラメーターに値を割り当てる方法について説明します。

背景

Dataphin では、ノードの依存関係は有向非循環グラフ (DAG) を形成します。以前は、DAG 内のノードはステータス情報しか渡すことができませんでした。これは、先祖ノードの実行ステータスがその子孫ノードに影響を与えることを意味していました。システムはノードのコンテンツを解釈したり、このコンテンツを DAG を介して子孫ノードに渡したりすることはできませんでした。子孫ノードが先祖ノードの出力を使用する必要がある場合、先祖ノードは出力をパブリックストレージに書き込む必要がありました。その後、子孫ノードはパブリックストレージから出力を読み取る必要がありました。データテーブルは、最も一般的なパブリックストレージの場所でした。しかし、パブリックストレージを介してメッセージを渡すことには、次の欠点があります。

  • パブリックストレージへの書き込みと読み取りのプロセスは複雑であり、一部の種類のノードではこれらの操作を実行できません。たとえば、論理テーブルノードは、そのコンピューティングロジックがフィールドコンピューティングロジックによって完全に決定されるため、パブリックストレージからメッセージを独立して読み取ることはできません。

  • パブリックストレージへのメッセージの書き込みと読み取りは非効率です。複数の子孫ノードが同じメッセージを使用する必要がある場合、各ノードは独立してメッセージを読み取る必要があります。さらに、メッセージのストレージの場所またはフォーマットが変更された場合、すべての子孫ノードは読み取りメソッドを調整する必要があります。

  • この転送方法は、渡されるメッセージが通常非常に小さいため、特に煩雑です。

これらの問題を解決するために、Dataphin はノード間でメッセージを渡すためのノード間パラメーターを導入しました。

  • 出力ノード:メッセージを渡すためにパラメーターを出力するノード。パラメーター出力は、Shell、Python、および SQL コンピュートノードのみがサポートしています。例としては、MaxCompute SQL、Hive SQL、AnalyticDB for PostgreSQL SQL などがあります。

  • 入力ノード:パラメーターを受け取って使用するノード。1 つの出力ノードは複数の入力ノードに接続できます。出力ノードの直接の子孫ノードは、その出力ノードのノード間パラメーターを参照できます。

ノード間出力パラメーターへの値の割り当て手順

ノード間出力パラメーターを宣言した後、コードで値を割り当てることができます。詳細については、「ノード間パラメーターのベストプラクティス」をご参照ください。

重要
  • Shell、Python、および SQL コンピュートノードのみがノード間出力パラメーターを定義できます。

  • ノード間変数パラメーターは、統合ノード、コンピュートノード、および標準または階層的な論理ディメンションテーブルとファクトテーブルの入力パラメーターとして使用できます。

タスク タイプ

割り当て文

右クリック メニュー ショートカット

Shell タスク

コード内で、次のコマンドを使用してノード間パラメーターに値を割り当てます:

setv "{parameter_name}" {parameter_value}

例:

setv "output_variable" 123

重要
  • setv "{variable_name}" {value} コマンドは、ノード間パラメーター {variable_name} に値を割り当てます。setv は Shell 関数であり、Shell 構文に従う必要があります。

  • setv はシステム予約関数です。命名の競合を避けてください。

エディターで右クリックし、[ノード間パラメーターの設定] を選択します。

Python タスク

コード内で、次のコマンドを使用してノード間パラメーターに値を割り当てます:

setv("{parameter_name}", {parameter_value})

例:

setv("output_variable", 123)

重要
  • setv("{variable_name}", {value}) コマンドは、ノード間パラメーター {variable_name} に値を割り当てます。setv は Python 関数であり、Python 構文に従う必要があります。

  • setv はシステム予約関数です。命名の競合を避けてください。

エディターで右クリックし、[ノード間パラメーターの設定] を選択します。

SQL ジョブ

set dataphin.task.result.type = dp_context_param;

select "value" as variable_name; または別のクエリ文。システムはクエリ結果の最初の行を使用します。フィールド名がパラメーター名になり、フィールド値がパラメーター値になります。

エディターで右クリックし、[ノード間パラメーターの設定] を選択します。

説明

AnalyticDB for PostgreSQL SQL ノードは、右クリックメニューのショートカットをサポートしていません。コマンドを手動で入力してください。