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

DataWorks:ワークフローパラメーターの使用

最終更新日:Jun 21, 2026

ワークフローパラメーターを使用すると、ワークフロー内の複数のノードに対して、パラメーターの値を一元的に割り当てまたは置換できます。本トピックでは、自動トリガーワークフローを例に、ワークフローパラメーターを使用して ReplaceMe パラメーターの値を置換する方法を説明します。

前提条件

  • ワークフローパラメーターを設定するためのワークフローを作成済みであること。詳細については、「自動トリガーワークフローの作成」および「手動トリガーワークフローの作成」をご参照ください。

  • ワークフロー内にノードを作成済みであること。設定したワークフローパラメーターは、これらのノード内の元のパラメーター値を置換します。

    説明

    現在、ワークフローパラメーターは以下のノードタイプでのみサポートされています:ODPS SQL、PyODPS 3、EMR Spark Shell、EMR Spark、EMR Shell、EMR Hive、EMR MR、EMR Presto、EMR Trino、EMR Spark SQL、EMR Spark Streaming、EMR Streaming SQL、Hologres SQL。サポートされているノードタイプの最新情報は、UI でご確認ください。

    ノードの作成については、「サポート対象のノードタイプ」をご参照ください。

サポート対象のノードタイプ

現在、ワークフローパラメーターは以下のノードタイプでのみサポートされています:ODPS SQL、PyODPS 3、EMR Spark Shell、EMR Spark、EMR Shell、EMR Hive、EMR MR、EMR Presto、EMR Trino、EMR Spark SQL、EMR Spark Streaming、EMR Streaming SQL、Hologres SQL。サポートされているノードタイプの最新情報は、UI でご確認ください。

使用上の注意

  • ワークフローパラメーターを保存すると、DataWorks はサポート対象のノードを開くたびに最新の設定を読み込み、ノードが編集可能になります。スケジュールされた実行に新しい設定を反映させるには、その後ノードをコミットしてデプロイする必要があります。

  • ワークフローパラメーターとノードレベルパラメーターが同じ名前の場合、ワークフローパラメーターの値がノードレベルパラメーターの値をオーバーライドします。

  • ワークフローパラメーターに値を割り当てる場合、Value/Expression フィールドは [${key}:value] 形式をサポートしていません。 たとえば、[var:1][${var}:1] は無効です。

ワークフローパラメーター設定の表示

  1. [DataStudio] ページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

  2. ワークフローパラメーター設定を開きます。

    **DataStudio** で、**[データ開発]** ペインのツリーからワークフローを見つけてダブルクリックし、ワークフローエディターを開きます。ここから **[ワークフローパラメーター]** 設定にアクセスできます。タブの左側には、ODPS SQL、PyODPS 3、EMR Hive、EMR Spark SQL、Hologres SQL などの一般的なノードのリストが表示されます。上部のツールバーには [実行] および [コミット] ボタンがあります。右上隅には、[デプロイ] および [オペレーションセンター] へのリンクがあります。

ワークフローパラメーターの設定

パラメーターの設定方法は、すべてのサポート対象ノードタイプで同じです。この機能は、ワークフロー内の複数のノードに対して同じパラメーターに値を割り当てる必要がある場合に推奨されます。本トピックでは、ワークフローパラメーターを使用して、ODPS SQL ノード内の ReplaceMe パラメーターの値を 20230613 から 20230615 に変更する方法を例として説明します。

  1. ノードレベルパラメーターを設定します。

    1. ノードエディターを開きます。

      対象のワークフロー内の ODPS SQL ノードをダブルクリックして、エディターを開きます。

    2. ノードパラメーターを設定します。

      ODPS SQL ノードのパラメーターの値を 20230613 に設定します。コードエディターで、SELECT ${ReplaceMe}; ステートメントを記述します。右側のペインで [プロパティ] タブをクリックします。パラメーターテーブルで、名前が ReplaceMe で、値が 20230613 のパラメーターを追加します。[スケジューリングパラメーターのプレビュー] をクリックします。表示されるダイアログボックスで、各インスタンスのパラメーターが ReplaceMe=20230613 に正しく設定されていることを確認します。ノードパラメーターの設定方法の詳細については、「スケジューリングパラメーターの設定」をご参照ください。

  2. ワークフローパラメーターを使用して、ノードレベルパラメーターの値をオーバーライドします。

    1. 対象のワークフローをダブルクリックし、ワークフローキャンバスの右側のナビゲーションペインで Workflow Parameters をクリックします。

    2. Workflow Parameters ダイアログボックスで、パラメーターを設定します。

      この例では、ワークフローパラメーターの値を 20230615 に設定します。 設定を保存すると、ODPS SQL ノードのパラメーター値が 20230615 に置き換えられます。 必要に応じて、複数のパラメーターを追加することもできます。

      説明
      • ワークフローパラメーターとノードレベルパラメーターが同じ名前の場合、ワークフローパラメーターの値がノードレベルパラメーターの値をオーバーライドします。

      • ワークフローパラメーターに値を割り当てる場合、Value/Expression フィールドは [${key}:value] 形式をサポートしていません。 たとえば、[var:1][${var}:1] は無効です。

      [ワークフローパラメーター] ダイアログボックスで、[パラメーター名]ReplaceMe に、その値を 20230615 に設定し、[保存] をクリックします。この例では、ODPS SQL コードは SELECT ${ReplaceMe}; であり、ReplaceMe パラメーターの元の解析値は 20230613 です。[スケジューリングパラメータープレビュー] をクリックすると、次の 3 つのインスタンスの ReplaceMe パラメーターがワークフローパラメーター値 20230615 を取得していることを確認できます。これにより、ワークフローパラメーターが有効になったことがわかります。

設定の検証

ワークフローパラメーターを設定したら、ワークフローを実行して、その値がノードレベルパラメーターの値を正しくオーバーライドしていることを確認します。

  1. ワークフローを実行し、変数に値を割り当てます。

    ワークフローパラメーターを使用するワークフローを実行する場合、実行時に各パラメーターに手動で値を割り当てる必要があります。詳細については、「デバッグ手順」をご参照ください。

    1. ワークフローエディターのツールバーで、运行 [実行] アイコンをクリックします。

    2. Enter parameters. ダイアログボックスで、ReplaceMe 変数に値 20230615 を割り当てます。

  2. 実行結果を確認します。

    ワークフローキャンバスで、ODPS SQL ノードを右クリックし、View Log を選択します。 ページの下部にログが表示され、パラメーターの割り当てが示されます。 ノードのパラメーター値が 20230613 から 20230615 に変更されていることから、ワークフローパラメーターが有効になり、実行が成功したことが確認できます。 実行ログでは、SKYNET_PARAVALUE=ReplaceMe=20230615 の行は、ワークフローパラメーターが正常に適用されたことを示します。

    2023-06-14 16:19:57 INFO Current task status:RUNNING
    2023-06-14 16:19:57 INFO Start execute shell on node cn-shanghai.475270149050624.1626085771455.
    2023-06-14 16:19:57 INFO Current working dir /home/admin/alisatasknode/taskinfo/20230614/phoenix/16/19/55/mm8wog2kwtj8czebilx1dbcp
    2023-06-14 16:19:57 INFO Full Command ..
    2023-06-14 16:19:57 INFO ——————————
    2023-06-14 16:19:57 INFO /opt/taobao/tbdpapp/odpswrapper/odpswrapper.py /home/admin/alisatasknode/taskinfo//20230614/phoenix/16/19/55/mm8wog2kwtj8czebilx1dbcp//275011_10728491_503348330 ReplaceMe=20230615
    2023-06-14 16:19:57 INFO ——————————
    2023-06-14 16:19:57 INFO List of passing environment ..
    2023-06-14 16:19:57 INFO ——————————
    2023-06-14 16:19:57 INFO SKYNET_BUSINESS_NAME=Workflow Parameter:
    2023-06-14 16:19:57 INFO SKYNET_ENDPOINT=http://service.cn.maxcompute.aliyun-inc.com/api:
    2023-06-14 16:19:57 INFO SKYNET_PTYPE=10:
    2023-06-14 16:19:57 INFO SKYNET_ACTIONID=1:
    2023-06-14 16:19:57 INFO TASK_WHITE_LIST=oapi.dingtalk.com:443,47.102.239.120:3306:
    2023-06-14 16:19:57 INFO SKYNET_RERUN_MODE=1:
    2023-06-14 16:19:57 INFO SKYNET_FLOW_PARAVALUE={"ReplaceMe":"20230615"}:
    2023-06-14 16:19:57 INFO SKYNET_ONDUTY=204288958124218159:
    2023-06-14 16:19:57 INFO SKYNET_SYSTEMID=dev:
    2023-06-14 16:19:57 INFO CALC_ENGINE_IDENTIFIER=saochen_mc_0508_dev:
    2023-06-14 16:19:57 INFO SKYNET_SOURCEID=700028402970:
    2023-06-14 16:19:57 INFO SKYNET_PARAVALUE=ReplaceMe=20230615:
    2023-06-14 16:19:57 INFO SKYNET_TASKID=708xxx:
    2023-06-14 16:19:57 INFO SKYNET_TENANT_ID=283789484710656:

ワークフローのコミットとデプロイ

ワークフローパラメーターの設定が正しいことを確認したら、ワークフローをコミットしてデプロイし、スケジュールされた実行に変更を反映させる必要があります。

  1. ワークフローをコミットします。

    コミットする際は、含めるノードを選択し、変更の説明を入力します。

    説明

    この機能が有効になっている場合、コミットされたコードをデプロイする前に、レビュー担当者による承認が必要です。この機能の詳細については、「コードレビュー」をご参照ください。

    ツールバーの [コミット] ボタンをクリックします。表示されるダイアログボックスで、コミットするノードを選択し、[変更の説明] を入力し、必要に応じて [コードレビュー] および [強制変更] を設定します。[I/O の不一致に関するアラートを無視] チェックボックスをオンにすることもできます。[OK] をクリックします。

  2. ワークフローをデプロイします。

    ワークスペースが standard mode の場合、コミットの成功後に右上隅の Deploy ボタンをクリックする必要があります。 詳細については、「ノードをデプロイする」をご参照ください。