スケジューリングパラメーターを使用すると、タスク コード内にプレースホルダーを定義できます。タスクのスケジューリング時に、システムはこれらのプレースホルダーをビジネス日付やスケジュール実行時間などの動的な値に自動的に置き換えます。これにより、日付固有のデータパーティションを処理するための手動でのコード変更が不要になります。
主な設定プロセス
スケジューリングパラメーターを使用するには、コード内でパラメーターを定義し、スケジューリング設定 で値を割り当てます。DataStudio でテストした後、パラメーターとともにノードを [オペレーションセンター] に提出します。その後、システムがタスクを実行し、割り当てロジックに基づいてパラメーターを割り当てられた値に自動的に置き換えます。
|
手順 |
アクション |
目標 |
|
1. パラメーターの定義 |
ノードのコード内で、 |
動的な値のプレースホルダーを作成します。 |
|
2. パラメーターの設定 |
ノードの ペインで、コード内の変数に値を割り当てます。 |
|
|
3. テスト |
[スモークテスト]機能を使用して特定のビジネス日付をシミュレートし、パラメーターの置換とコードの実行が正しいことを確認します。 |
開発環境で設定が正しいことを確認します。 |
|
4. デプロイと検証 |
ノードを本番環境に提出し、オペレーションセンター で最終的なパラメーター設定を確認します。 |
本番タスクのパラメーターが期待どおりであることを確認します。 |
スケジューリングパラメーターは、[オペレーションセンター] でタスクがスケジューリングされる場合にのみ有効になります。DataStudio でコードを実行してビジネスロジックが期待どおりか確認する必要がある場合は、デバッグの構成 でスケジューリングパラメーター (スクリプトパラメーター) に一時的に値を割り当てることができます。
操作手順
手順1:パラメーターの定義

-
MaxCompute SQL ノードなどのターゲット ノードをダブルクリックして、ノード編集ページを開きます。
-
コード内でパラメーターを定義します。MaxCompute SQL ノードでは、
${param}構文を使用してパラメーター名を定義します。DataWorks では、参照と管理を容易にするために、意味のあるパラメーター名を使用することを推奨します。スケジューリングパラメーターの参照形式:
形式タイプ
構文
スコープ
備考
一般形式
${parameter_name}MaxCompute SQL ノードやバッチ同期ノードなど、ほとんどのノードタイプに適用可能です。
これは最も一般的に使用される形式です。
特殊形式
ノードタイプによって異なります。
${...}形式は使用しません。PyODPS、Shell、Python
詳細については、「さまざまなタイプのノードに対するスケジューリングパラメーターの設定」をご参照ください。
-- 例:パーティションフィルタリングのために pt_date という名前の変数を定義します SELECT * FROM my_table WHERE ds = '${pt_date}'; -
ページの右側にある スケジューリング設定 をクリックして、スケジューリングパラメーター の設定を開きます。
-
以下に説明するように、スケジューリングパラメーターを設定します。
手順2:パラメーターの設定
テーブルで定義 または 式で定義 でスケジューリングパラメーターを設定します。右上隅にある 式で定義 をクリックしてモードを切り替えます。デフォルトのモードは テーブルで定義 です。
-
パラメーターの設定
テーブルによる定義
ノードの右側にある スケジューリング設定 をクリックして、スケジューリングパラメーターの設定ページを開きます。

-
パラメーターの追加
ノードの右側にある スケジューリング設定 をクリックし、スケジューリングパラメーター でパラメーターを追加します。次の方法でパラメーターを追加できます。
-
パラメーターの追加 をクリックして、パラメーター名と値を手動で入力します。パラメーター名は、コードで定義された変数名と一致している必要があります。
-
コード内のパラメーターのロード をクリックします。DataWorks は、
${pt_date}などの変数をコードから自動的に解析し、パラメーター名を入力します。パラメーター値を入力するだけで済みます。
-
-
値の割り当て
システム組み込みパラメーター、カスタム時間パラメーター、ワークスペースパラメーター、上位ノードの出力パラメーター、定数を設定できます。
-
入力ボックスをクリックします。ドロップダウンリストには、一般的に使用されるパラメーター式がいくつか表示され、直接選択できます。カスタム式やシステム組み込み変数を手動で入力することもできます。
-
ビジネス要件に基づいて値を入力できます。サポートされている値の形式については、「スケジューリングパラメーターでサポートされている形式」をご参照ください。
-
スケジューリングパラメーターの割り当ては、コンテキストパラメーターのクイックバインドもサポートしています。パラメーターの横にある
ボタンをクリックします。先祖ノードのレスポンスパラメーターのアタッチ ダイアログで、出力パラメーターが設定されているノードを選択し、依存関係をすばやく関連付けます。出力パラメーターの詳細については、「出力パラメーターの設定」をご参照ください。
-
式による定義
式で定義 をクリックして、設定モードを切り替えます。式を使用してパラメーターを設定する場合は、このモードを使用します。

-
式ベースの定義を使用する場合は、複数のパラメーターをスペースで区切ります。
-
式で定義 モードでスケジューリングパラメーターを追加、削除、または変更すると、DataWorks は現在の式の構文を検証します。検証に失敗した場合、スケジューリングパラメーターは設定できません。
たとえば、DataWorks は 等号の前後にはスペースを使用できない などの構文ルールをチェックします。
-
-
パラメーターのプレビュー
パラメーターを定義した後、スケジューリングパラメータのプレビュー をクリックして、指定したビジネス日付後の N 個のインスタンスのパラメーター値をプレビューし、パラメーター定義が期待どおりかどうかを確認します。ビジネス日付とプレビューするインスタンスの数を調整できます。
説明バッチ同期ノードなど一部のノードには、組み込みの
${bizdate}パラメーターが付属しています。このパラメーターには、$bizdateの値が自動的に割り当てられます。コード内のbizdateパラメーター名をカスタムパラメーター名に置き換えることができます。${bizdate}自体に特別な意味はなく、他のカスタムパラメーターと同様に機能します。
手順3:スモークテスト
パラメーター値を割り当てた後、デプロイ時にスモークテスト機能を使用して、特定のビジネス日付でのスケジューリングシナリオをシミュレートします。パラメーターの置換とコードの実行が、期待どおりの結果になることを確認します。期待どおりでない場合は、本番環境のスケジューリングに影響を与えないように、速やかに調整してください。
-
ノードコードをデプロイします。

-
スケジューリング時間とスケジューリング依存関係を設定します。
-
[保存] をクリックして、コードと設定を保存します。次に、ツールバーの [デプロイ] ボタンをクリックして、デプロイプロセス中にスモークテストを開始します。
説明スモークテストで最新のコードやパラメーターが実行されない場合は、本番の再デプロイ をクリックします。
-
-
スモークテストを実行します。
スモークテストの実行 をクリックします。スモークテスト ダイアログで、ビジネス日付を選択し、[確認] をクリックしてスモークテストを開始します。
-
スモークテストのログを表示します。
-
左側メニューの
スモークテスト記録ボタンをクリックし、スモークテスト記録の ログ をクリックします。
-
ログのパラメーター出力をチェックして、結果が期待どおりか確認します。
-
手順4:デプロイと検証
開発環境で検証した後、本番環境でスケジューリングするためにタスクを [オペレーションセンター] にデプロイします。実行時エラーを防ぐために、本番環境でスケジューリングパラメーターをチェックします。
スケジュールされたタスクのスケジューリングパラメーター設定が期待どおりでない場合、または [オペレーションセンター] でターゲット タスクが見つからない場合は、タスクが正常にデプロイされたことを確認してください。タスクのデプロイの詳細については、「ノードのデプロイ」をご参照ください。
-
パラメーター定義をチェックします。
[オペレーションセンター] に移動し、ターゲットのリージョンとワークスペースに切り替えて、 ページに移動します。タスクリスト内のタスク名をクリックし、プロパティ ペインの実行パラメーターが期待どおりか確認します。

-
[オペレーションセンター] でのスモークテスト。
[オペレーションセンター] でスモークテストを使用して、デプロイされたタスクが本番環境で期待どおりにパラメーター置換とコード実行を行うかを確認することもできます。詳細については、「オペレーションセンターでのスモークテスト」をご参照ください。
重要スモークテストは本番環境の実際のデータに対して実行されるため、本番データを汚染しないように注意してください。

-
実際のスケジューリング結果を観察します。
タスクが自動スケジューリングされると、定期インスタンス 内のパラメーターが要件どおりに自動的に置換されているかを確認することで、パラメーター置換が正しいかをさらに検証できます。

完全な設定例
この例では、MaxCompute SQL ノードを使用して、開発環境でのスモークテストを通じてスケジューリングパラメーターの設定を検証し、デプロイ後に [オペレーションセンター] でパラメーター値を確認します。
各ノードタイプのスケジューリングパラメーター設定については、「さまざまなタイプのノードに対するスケジューリングパラメーターの設定」をご参照ください。
-
ノードコードを編集し、スケジューリングパラメーターを設定します。
MaxCompute SQL ノードのコードとスケジューリングパラメーターの設定は、次の図のようになります。

-
コード内で変数を定義します。
-- システム組み込みパラメーターを割り当て SELECT '${var1}'; SELECT '${var2}'; -- カスタムパラメーターを割り当て SELECT '${var3}'; SELECT '${var4}'; -- 定数を割り当て SELECT '${var5}'; -
変数に値を割り当てます。
セクションで、変数に値を割り当てます (エリア 2 に示すように)。その他の値の割り当て形式については、「スケジューリングパラメーターでサポートされている形式」をご参照ください。
-
var1=$bizdateは、業務日をyyyymmdd形式で取得します。 -
var2=$cyctimeは、タスクの定時実行時間をyyyymmddhh24miss形式で取得します。 -
var3=${yyyymmdd}は、業務日付をyyyymmdd形式で取得します。 -
var4=$[yyyymmddhh24miss]は、タスクのスケジュールされた実行時間をyyyymmddhh24miss形式で取得します。 -
var5=Hangzhouは、var5 を定数 Hangzhou に設定します。
-
-
オプション:スケジューリング時間を設定します。
MaxCompute SQL ノードのスケジュールを 1 時間ごとに設定します (エリア 3 に示すように)。
説明実際の要件に基づいてタイムスケジュールを選択できます。このトピックでは、1 時間ごとのスケジューリングを例として使用します。
-
スケジュール開始時間:
16:00 -
スケジュール終了時間:
23:59 -
スケジュール間隔:
1時間。
その他のスケジューリング時間の設定については、「スケジューリング時間の設定」をご参照ください。
-
-
スケジューリング依存関係を設定します。
開発ノードのスケジューリング依存関係を設定します。詳細については、「同一サイクル依存関係の設定」および「スケジューリング依存関係タイプの選択 (サイクル間スケジューリング依存関係)」をご参照ください。この例では、ルートノードがこのノードの上流依存関係として使用されます。
-
デバッグと実行:ツールバーの [実行] をクリックして、ノードの実行ステータスとログ出力が期待どおりか確認します。スケジューリングパラメーターは、[オペレーションセンター] でスケジューリングされた場合にのみ有効になります。DataStudio でコードを実行してビジネスロジックが期待どおりか確認する必要がある場合は、デバッグの構成 でスケジューリングパラメーター (スクリプトパラメーター) に一時的に値を割り当てることができます。
-
-
ノード編集ページの上部ツールバーで、[保存] をクリックし、MaxCompute SQL ノードの設定をデプロイします。
-
デプロイプロセス中にスモークテストを開始します。
-
スモークテストの実行 をクリックします。スモークテスト ダイアログで、ビジネス時間を設定してノードのスケジューリングサイクルをシミュレートします。
ビジネス時間の設定は次のとおりです:-
ビジネス日付:
2025-10-16 -
開始時間:
16:00 -
終了時間:
17:00
MaxCompute SQL ノードは、時間単位のスケジュールタスクです。業務日
2025-10-17には、16:00と17:00に 2 つのインスタンスが生成されます。説明業務日付が実行日の前日であるため、タスクの実際の実行日は
2025-10-17になります。16:00インスタンスに期待されるパラメーター値は以下のとおりです。-
var1=20251016。 -
var2=20251017160000。 -
var3=20251016。 -
var4=20251017160000。
17:00インスタンスに期待されるパラメーター値は以下のとおりです。-
var1=20251016。 -
var2=20251017170000。 -
var3=20251016。 -
var4=20251017170000。
-
-
確認 をクリックします。ノードは指定された時間に実行を開始します。
-
実行時間が終了した後、左側メニューの
スモークテスト記録ボタンをクリックして、スモークテストのログを表示します。ノードによって生成された 2 つのインスタンスは正常に実行され、ノードの結果は期待どおりです。



-
-
現在のワークスペースが標準モードを使用している場合は、ノードを本番環境にデプロイする必要があります。MaxCompute SQL ノード編集ページで、上部メニューバーの右側にある 公開 をクリックして、現在のノードをデプロイします。デプロイ手順については、「ノードのデプロイ」をご参照ください。
-
[オペレーションセンター] に移動して、ノードのスケジューリングパラメーター設定を確認します。

-
[DataStudio] の上部メニューの右側にある オペレーションセンター をクリックして、オペレーションセンター ページに移動します。
-
ページで、ターゲットノードを検索します。
説明ノードが正常にデプロイされた後にのみ、定期タスク ページでノードを見つけることができます。
-
ターゲットノード名をクリックし、プロパティ ペインの 実行時パラメーター を確認します。
この例では、ノードの実行パラメーターは
var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss] var5=Hangzhouであり、期待どおりです。 -
実際のインスタンスでの置換結果を確認します。スケジュールされたインスタンスが生成された後、定期インスタンス メニューをクリックし、タスク名を検索してタスクインスタンス名をクリックし、プロパティ ペインの 実行時パラメーター を確認します。
この例では、ノードの実行パラメーターは
var1=20251016 var2=20251017160000 var3=20251016 var4=20251017160000 var5=Hangzhouであり、期待どおりです。
-