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

Platform For AI:グローバル変数

最終更新日:Sep 15, 2026

パイプラインのグローバル変数は、繰り返し行うパラメーター設定を削減します。オンラインパイプラインと DataWorks のオフラインスケジューリングパイプラインの両方で一般的に使用されます。オンラインパイプラインでは、複数のコンポーネントで 1 つのパラメーターを共有できます。DataWorks のオフラインスケジューリングでは、スケジューリングパラメーターを動的に上書きするために使用することで、パイプラインの柔軟性と効率を向上させます。

手順

  1. グローバル変数を設定します。

    既存のパイプラインを開き、キャンバスの空白領域をクリックし、右側のパネルでグローバル変数を作成します。

    グローバル変数を参照するには、${variable_name} という形式を使用します。変数名は 1~20 文字で、先頭は英字にする必要があります。また、英字、アンダースコア、数字のみ使用できます。オフラインスケジューリングでグローバル変数を使用する場合、DataWorks で同じ名前のスケジューリングパラメーターを定義する必要があります。PAI Designer で設定した値は、オンラインでの実験実行にのみ適用されます。

  2. グローバル変数を使用したいパラメーターフィールドに、${variable_name} を入力します。

例 1:オンラインパイプライン

この例では、グローバル変数 para1 を設定してテーブル列 status の名前を ifHealth に変更し、SQL スクリプトでそれを参照する方法を説明します。

  1. パイプラインを作成します。

    パイプラインを作成した後、最初の 2 つのノードのみを残し、他のノードは削除します。

  2. キャンバスの空白領域をクリックし、右側のパネルでグローバル変数を作成します。

    グローバル変数名を para1 に、その値を ifHealth に設定します。

  3. グローバル変数を使用します。

    [SQL スクリプト] コンポーネントを変更して、${para1} を使用して変数を参照します。

    SQL スクリプト-1 コンポーネントの SQL エディターで、SELECT ステートメントの最後に ${para1} を出力列のエイリアスとして使用します。FROM 句では、${t1} を使用して テーブルの読み取り-1 コンポーネントからの入力ソースを参照します。また、[Automatically add CREATE TABLE statement] チェックボックスをオンにします。このオプションをオンにすると、最後のステートメントは SELECT ステートメントである必要があります。

  4. パイプラインを実行します。

    実行が完了したら、[SQL スクリプト] コンポーネントを右クリックし、[データの表示] > [Output of SQL Script] を選択します。列名 statusifHealth に変更されます。

例 2:DataWorks オフラインスケジューリング

この例では、グローバル変数 gDate を使用してパイプライン内の特定の日付のデータをフィルター処理する方法を説明します。次に、DataWorks で対応するスケジューリングパラメーターを設定して、パイプラインをスケジュールされたジョブとして実行します。

  1. テスト用のデータテーブルを作成します。

    この例では、MaxCompute コンソールdwtest という名前のテーブルを作成します。詳細については、「SQL Reference」をご参照ください。

    dwtest テーブルには、t1 (数値、値の例:1.0、0.0、1.2、0.1)、t2 (数値、値の例:1.1、1.0、0.0、0.1)、label (文字列、値の例:A、B、C、D、E、F)、ds (日付パーティション、値の例:20190519、20190520) の 4 つの列があります。テーブルには 10 行のテストデータが含まれています。

  2. パイプラインを作成し、グローバル変数を設定します。

    1. キャンバスの空白領域をクリックし、右側のパネルで gDate という名前のグローバル変数を作成します。

      変数の値を 20190520 に設定します。

    2. パイプラインコンポーネントを設定します。

      image

      • [テーブルの読み取り]:[Table Name]dwtest テーブルに設定します。

      • SQL スクリプト:クエリで gDate グローバル変数を使用します。

        select * from ${t1} where ds=${gDate}
  3. パイプラインを実行します。

    実行が完了したら、[SQL スクリプト] コンポーネントを右クリックし、[データの表示] > [Output of SQL Script] を選択します。出力データは、gDate グローバル変数の値に基づいてフィルター処理されます。

    クエリ結果では、ds 列の値は 20190520 であり、これは gDate グローバル変数の値と一致します。これにより、グローバル変数が正常に渡されたことを確認できます。

  4. キャンバスの左上隅にある [定期スケジューリング] をクリックし、[スケジューリングノードを作成] をクリックします。これにより DataWorks にリダイレクトされ、オフラインスケジューリングを設定できます。[Create Node] ダイアログボックスで、ノード名を指定して [Confirm] をクリックします。

  5. PAI Designer の実験を選択し、右側のパネルで [Properties] をクリックします。設定の詳細については、「ノードスケジューリング設定」をご参照ください。

    この例では、次のパラメーターを設定し、その他はデフォルト設定のままにします。

    • スケジューリングパラメーターgDate という名前のスケジューリングパラメーターを追加し、その値を $bizdate に設定します。

    • スケジュール:再実行プロパティで、以前の実行結果に関係なくノードを再実行できるように指定します。

    • 依存関係:アップストリームの依存関係をワークスペースのルートノードに設定します。

  6. ツールバーの 保存 アイコンと 提交 アイコンをクリックします。画面の指示に従って、ノードを保存し、送信します。

  7. ページの上部にある [運用センター] をクリックして、タスクの実行ステータスと操作ログを表示します。

    データのバックフィルやトライアルパイプラインの実行も可能です。詳細については、「自動トリガーされたタスクの管理」をご参照ください。

関連ドキュメント