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

DataWorks:スケジューリングパラメーターの構成と使用

最終更新日:Nov 09, 2025

データワークフローでは、SQL などのタスクコードは、さまざまなデータパーティションを処理するために、スケジュール時間に応じて動的に変更する必要があることがよくあります。スケジューリングパラメーターを使用すると、手動でのコード変更を回避できます。コードにプレースホルダーを設定します。その後、システムはこれらのプレースホルダーを、データタイムスタンプやスケジュールされた実行時間などの動的な値に自動的に置き換えます。これにより、ワークフローが自動化およびパラメーター化されます。

コア構成プロセス

スケジューリングパラメーターを使用するには、[スケジューリング設定] セクションでパラメーターを定義して値を割り当てます。コードをテストした後、オペレーションセンターに送信します。その後、システムはタスクを自動的にスケジュールし、スケジューリングパラメーターを構成済みの値に動的に置き換えます。

手順

アクション

コアゴール

1. パラメーターの定義

ノードコードでは、${param} フォーマットを使用して 1 つ以上のパラメーターを定義できます。

これにより、動的な値のプレースホルダーが予約されます。

2. パラメーターの構成

ノードの [スケジューリング設定] > [スケジューリングパラメーター] パネルで、コード内の変数に値を割り当てます。

これにより、プレースホルダー ${param}$bizdate$[yyyymmdd-1] などの特定のスケジューリングパラメーターに関連付けられます。

3. テスト

[スモークテスト] 機能を使用して、特定のデータタイムスタンプをシミュレートし、パラメーターの置換とコード実行の正確性を検証できます。

これにより、開発環境での構成が正しいことが保証されます。

4. 公開と検証

ノードを本番環境に送信し、[オペレーションセンター] で最終的なパラメーター構成を確認します。

これにより、本番タのパラメーターが期待どおりであることが保証されます。

手順

1. パラメーターの定義

image

  1. ODPS SQL ノードなどのターゲットノードをダブルクリックして、ノードエディターを開きます。

  2. コードでパラメーターを定義します。ODPS SQL ノードまたは別の SQL ノードのコードでは、${param} 構文を使用してパラメーター名を定義できます。DataWorks では、参照と管理を容易にするために、意味のあるパラメーター名を使用することをお勧めします。

    スケジューリングパラメーターの呼び出しフォーマット:

    フォーマットタイプ

    呼び出し構文

    スコープ

    一般フォーマット

    ${ParameterName}

    ODPS SQL や同期ノードなど、ほとんどのノードタイプに適用されます。

    これは最も一般的なフォーマットです。

    特殊フォーマット

    ノードによって異なります。${...} フォーマットではありません。

    PyODPS, Shell

    詳細については、「さまざまなノードタイプのスケジューリングパラメーター構成の例」をご参照ください。

    -- 例: パーティションフィルタリング用に pt_date という名前の変数を定義する
    SELECT * FROM my_table WHERE ds = '${pt_date}'; 
  3. ページの右側で [スケジューリング設定] をクリックして、[スケジューリングパラメーター] セクションに移動します。

  4. 次のセクションで説明するように、スケジューリングパラメーターを構成します。

2. パラメーターの構成

スケジューリングパラメーターは、[ビジュアル定義][式による定義] の 2 つの方法で設定できます。パラメーターリストの右上隅にある [式による定義] をクリックすることで、これらのモードを切り替えることができます。デフォルトのモードは [ビジュアル定義] です。

  1. パラメーターの構成

    ビジュアル定義

    ノードの右側にある [スケジューリング設定] をクリックして、スケジューリングパラメーター構成インターフェイスを開きます。

    image

    • パラメーターの追加

      ノードの右側で [スケジューリング設定] をクリックします。[スケジューリングパラメーター] セクションでは、次の 2 つの方法のいずれかでパラメーターを追加できます。

      1. [パラメーターの追加] をクリックし、パラメーター名と値を手動で入力します。パラメーター名は、コードで定義された変数名と一致する必要があります。

      2. [コードからパラメーターをロード] をクリックします。DataWorks は、${pt_date} などのコード内の変数を自動的に解析し、パラメーターとして追加します。次に、各パラメーターの値を入力します。

    • パラメーターへの値の割り当て

      組み込みのシステム変数、カスタム時間変数、および定数を設定できます。

      • 入力ボックスをクリックします。ドロップダウンリストには、直接選択できる一般的なパラメーター式がいくつか表示されます。カスタム式や組み込みのシステム変数を手動で入力することもできます。

      • 必要に応じて値を入力します。サポートされているパラメーター値の範囲の詳細については、「スケジューリングパラメーターでサポートされているフォーマット」をご参照ください。

    式による定義

    [式による定義] をクリックして、式を使用してパラメーターを構成します。

    image

    • 式を使用して複数のパラメーターを定義する場合は、スペースで区切る必要があります。

    • [式による定義] メソッドを使用してスケジューリングパラメーターを追加、削除、または変更すると、DataWorks は式の構文を検証します。構文が無効な場合、スケジューリングパラメーターを構成することはできません。

      たとえば、DataWorks は 等号の両側にスペースを入れない などの構文ルールをチェックします。

  2. パラメータープレビュー

    パラメーターを定義した後、[スケジューリングパラメータープレビュー] をクリックして、指定されたデータタイムスタンプの後に実行される次の N 個のインスタンスのパラメーターをプレビューします。これにより、パラメーター定義が期待どおりに構成されていることを確認できます。プレビュー用にデータタイムスタンプとインスタンスの数を調整できます。

    image

説明

オフライン同期ノードなどの一部のノードには、組み込みの ${bizdate} パラメーターがあります。このパラメーターには自動的に値 $bizdate が割り当てられます。コード内の bizdate パラメーター名をカスタム名に置き換えることができます。${bizdate} パラメーター自体に特別な意味はなく、他のカスタムパラメーターと同じです。

image

3. スモークテスト

スケジューリングパラメーターに値を割り当てた後、スモークテスト機能を使用できます。データタイムスタンプを構成して、ターゲットノードのスケジューリングシナリオをシミュレートできます。このシナリオでコードの実行とパラメーターの置換が期待どおりに機能することを確認できます。機能しない場合は、通常のタスクスケジューリングで問題が発生しないように、必要に応じて設定を調整する必要があります。

スモークテストはインスタンスを生成し、インスタンス料金が発生します。インスタンス料金の詳細については、「サーバーレスリソースグループの課金」をご参照ください。
  1. ノードコードを送信します。

    1. スケジュール時間スケジューリング依存関係を構成します。

    2. 保存アイコン 保存 をクリックしてコードと構成を保存します。次に、送信アイコン 提交 をクリックします。開発環境でスモークテスト機能を使用できるのは、ノードの最新のコードがオペレーションセンターに送信された後のみです。

      説明

      スモークテストが最新のコードまたはパラメーターを実行していないことがわかった場合は、ノードを再度送信する必要があります。

  2. スモークテストを実行します。

    ツールバーの image スモークテストアイコンをクリックします。[スモークテスト] ダイアログボックスで、データタイムスタンプを選択し、OK をクリックしてスークテストを実行します。

  3. スモークテストログを表示します。

    1. [スモークテストレコード] ウィンドウで、最新のレコードを見つけて [ログの表示] をクリックします。

      image

    2. ログで、パラメーター出力をチェックして、期待どおりであることを確認します。

      説明

      誤ってウィンドウを閉じてしまった場合は、ツールバーの image スモークテストレコードアイコンをクリックして再度開くことができます。

重要

実行 image および高度な実行 image 機能では、コード内の変数に手動で定数を割り当てる必要があります。したがって、これらの機能を使用して、構成されたスケジューリングパラメーターが期待どおりに機能するかどうかを検証することはできません。

4. 公開と検証

開発環境での検証後、タスクをオペレーションセンターに送信して公開し、本番環境での自動スケジューリングを行うことができます。タスクを公開した後、実行時エラーを防ぐために、本番環境でスケジューリングパラメーターを確認する必要があります。

説明

定期タスクのスケジューリングパラメーター構成が期待どおりでない場合、またはオペレーションセンターでターゲットタスクが見つからない場合は、タスクが正常に公開されたことを確認する必要があります。タスクの公開方法の詳細については、「タスクを公開する」をご参照ください。

  1. パラメーター定義の確認

    オペレーションセンターに移動し、ターゲットリージョンとワークスペースに切り替えて、[定期タスク O&M] > [定期タスク] ページに移動します。タスクリストでタスク名をクリックし、[プロパティ] パネルの実行パラメーターが正しいことを確認します。

    image

  2. オペレーションセンターでのスモークテスト

    オペレーションセンターでは、スモークテストを使用して、送信および公開されたタスクが本番環境で期待どおりにパラメーター置換とコード実行を実行するかどうかを確認することもできます。詳細については、「テストを実行してテストインスタンスを表示する」をご参照ください。

    重要

    スモークテストは実際には本番データで実行されることに注意してください。本番データベースを汚染しないように、注意して進める必要があります。

    image

  3. 実際のスケジューリング結果の監視

    タスクが自動的にスケジュールされた後、[定期インスタンス] でパラメーターを確認することで、パラメーターが必要に応じて置き換えられたことをさらに検証できます。

    image

完全な構成例

このトピックでは、ODPS SQL ノードを例として、[開発環境のスモークテスト機能] を使用して、構成されたスケジューリングパラメーターが期待どおりに機能するかどうかをテストする方法を示します。また、ノードが公開された後にオペレーションセンターでタスクのスケジューリングパラメーター構成を表示する方法も示します。

説明

さまざまなタイプのノードのスケジューリング パラメーターを設定する方法の詳細については、「さまざまなタイプのノードのスケジューリング パラメーターを設定する」をご参照ください。

  1. ノードコードを編集し、スケジューリングパラメーターを構成します。

    次の図は、ODPS SQL ノードのコードとスケジューリングパラメーター構成を示しています。节点代码及参数配置

    1. コードで変数を定義します。

      -- 組み込みシステムパラメーターの割り当て
      SELECT '${var1}';
      SELECT '${var2}';
      -- カスタムパラメーターの割り当て
      SELECT '${var3}';
      SELECT '${var4}';
      -- 定数の割り当て
      SELECT '${var5}';
    2. 変数に値を割り当てます。

      [スケジューリング設定] > [スケジューリングパラメーター] セクションで、エリア 2 に示すように変数に値を割り当てることができます。値のフォーマットの詳細については、「スケジューリングパラメーターでサポートされているフォーマット」をご参照ください。

      • var1=$bizdate: yyyymmdd フォーマットのデータタイムスタンプ。

      • var2=$cyctime: yyyymmddhh24miss フォーマットのタスクのスケジュールされた実行時間。

      • var3=${yyyymmdd}: yyyymmdd フォーマットのデータタイムスタンプ。

      • var4=$[yyyymmddhh24miss]: yyyymmddhh24miss フォーマットのタスクのスケジュールされた実行時間。

      • var5=Hangzhou: var5 の値を定数 Hangzhou に設定します。

    3. オプション: スケジュール時間を構成します。

      ODPS SQL ノードを 1 時間ごとにスケジュールするように構成します (エリア 3 を参照)。

      説明

      必要に応じて期間を構成できます。このトピックでは、期間が追加された例を使用します。

      • 開始時間は 16:00 です。

      • 終了時間は 23:59 です。

      • 間隔は 1 時間です。

      期間構成の詳細については、「時間プロパティ構成の説明」をご参照ください。

    4. スケジューリング依存関係を設定します。

      開発ノードのスケジューリング依存関係を構成します。詳細については、「スケジューリング依存関係の構成」をご参照ください。この例では、ルートノードがこのノードの上流依存関係として使用されます。

  2. ノードエディターの上部にあるツールバーで、保存 保存アイコンをクリックし、次に 提交 送信アイコンをクリックして、ODPS SQL ノードの構成を保存して送信します。

  3. 開発環境でスモークテストを実行します。

    1. 开发环境冒烟测试 アイコンをクリックします。[スモークテスト] ダイアログボックスで、ビジネス時間を構成してノードのスケジューリング期間をシミュレートできます。

      配置业务时间ビジネス時間は次のように構成されます:

      • データタイムスタンプ: 2025-10-16

      • 開始時間: 16:00

      • 終了時間: 17:00

      ODPS SQL タスクは、時間単位でスケジュールされたタスクです。このタスクでは、2025-10-1716:0017:00 に 2 つのインスタンスが生成されます。

      説明

      データタイムスタンプは実行時間の 1 日前であるため、タスクの実際の実行時間は 2025-10-17 です。

      16:00 ノードの期待値は次のとおりです:

      • var1=20251016

      • var2=20251017160000

      • var3=20251016

      • var4=20251017160000

      17:00 ノードの期待値は次のとおりです:

      • var1=20251016

      • var2=20251017170000

      • var3=20251016

      • var4=20251017170000

    2. [OK] をクリックします。ノードは指定された時間に実行されるようにスケジュールされます。

    3. 実行時間が終了したら、查看冒烟测试日志 アイコンをクリックしてスモークテストログを表示します。

      ノードによって生成された 2 つのインスタンスは正常に実行され、ノードの実行結果は期待どおりです。

      image

      image

      image

  4. ワークスペースが標準モードの場合、ノードを本番環境に公開する必要があります。ODPS SQL ノードエディターページで、トップメニューバーの右上隅にある [公開] をクリックします。ノードの公開の詳細については、「ノードを公開する」をご参照ください。

  5. オペレーションセンターに移動して、ノードのスケジューリングパラメーター構成を確認します。

    生产环境参数配置

    1. [DataStudio] のトップメニューバーで、右上隅にある [オペレーションセンター] をクリックしてオペレーションセンターページを開きます。

    2. [定期タスク O&M] > [定期タスク] ページで、ターゲットノードを検索できます。

      説明

      定期タスクページでノードを検索できるのは、ノードが正常に公開された後のみです。

    3. ターゲットノード名をクリックし、[プロパティ] タブで [実行パラメーター] を表示します。

      この例では、ノードの実行パラメーターは var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss] であり、期待どおりです。

    4. スケジュールされたインスタンスが生成された後、[定期インスタンス] メニューをクリックし、タスク名を検索して、タスクインスタンス名をクリックします。[プロパティ] タブで、[実行パラメーター] の下にある置き換えられたパラメーターを表示できます。

      この例では、ノードの実行パラメーターは var1=20251016 var2=20251017160000 var3=20251016 var4=20251017160000 であり、期待どおりです。

リファレンス