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

DataWorks:ノードタイプごとのスケジューリングパラメーター設定例

最終更新日:Jul 16, 2026

SQL ノードやバッチ同期ノードを含むほとんどのノードタイプでは、同じ方法でスケジューリングパラメーターを定義および参照します。PyODPS ノードは文字列置換の代わりに辞書オブジェクトを介してパラメーターを取得し、汎用 Shell ノードは名前付き変数の代わりに位置変数を使用するなど、2 種類のノードは動作が異なります。このトピックでは、各ノードタイプの設定例を紹介します。

SQLノードとバッチ同期ノード

ODPS SQL などの SQL ノードとバッチ同期ノードは、スケジューリングパラメーターの設定に同じ方法を使用します。この方法は、他のほとんどのノードタイプにも適用されます。このトピックでは、ODPS SQL ノードを例に、組み込み変数とカスタムパラメーターに値を割り当て、コードで参照する方法を説明します。

説明

一部のノードはスケジューリングパラメーターをサポートしていない場合があります。特定のノードタイプがスケジューリングパラメーターをサポートしているかどうかについては、そのノードタイプのドキュメントをご参照ください。

パラメーターの割り当てエリアでパラメーターに値を割り当て、コードエリアで組み込み変数 var1var3、カスタムパラメーター var2var4、および定数 var5 を参照します。以下に値の割り当て例を示します:

  • 組み込み変数 var1 に業務日付を割り当てます:var1=$bizdate

  • 組み込み変数 var3 にスケジュール時刻を割り当てます:var3=$cyctime

  • カスタムパラメーター var2 に業務日付を割り当てます:var2=${yyyymmdd}

  • カスタムパラメーター var4 にスケジュール時刻を割り当てます:var4=$[yyyymmddhh24:mi:ss]

  • var5 に定数 abc を割り当てます:var5=abc

スケジュール時刻を基準とした相対時間 (たとえば、1 時間前や N 分前) を取得するには、スケジュール時刻パラメーター ($[...]) にオフセット計算を適用できます。時間オフセットには N/24 を、分オフセットには N/24/60 を使用します。ここで、N はオフセットする時間数または分数です。時間および分のオフセットは、スケジュール時刻に対してのみサポートされています。業務日付 (${...}) は、これらのオフセットをサポートしていません。以下の例では、「1 時間前を取得する」を例に説明します。

  • スケジュール時刻の 1 時間前を取得します (yyyymmddhh24miss 形式の完全なタイムスタンプ):$[yyyymmddhh24miss-1/24]

  • 1 時間前の「時」のみを取得します (24 時間形式):$[hh24-1/24]

  • 1 時間前の「時、分、秒」を取得します:$[hh24miss-1/24]

  • 1 時間前の時刻の日付部分 (yyyymmdd 形式) を取得します:$[yyyymmdd-1/24]

  • 前日、かつ 1 時間前の時刻を取得します:$[yyyymmdd-1-1/24]

  • スケジュール時刻から 15 分を引いた時刻を取得します:$[yyyymmddhh24miss-15/24/60]

説明

時間と分のオフセット計算では、日をまたぐ場合があります。サポートされている割り当て形式の完全なリストと、日をまたぐ場合の処理に関する情報については、「サポートされているスケジューリングパラメーターの形式」をご参照ください。

PyODPSノード

コードインジェクションを防ぐため、PyODPS ノードでは、${param_name} 文字列置換構文を使用してコード内で直接変数を定義することはできません。コードを実行する前に、dict 型 (辞書オブジェクト) の args グローバル変数からスケジューリングパラメーターを取得する必要があります。パラメーターの割り当て方法は、他のノードタイプと同じです。

PyODPS ノードのコードエディターでは、args 辞書を使用してスケジューリングパラメーター (args['var1']args['var2']args['var3'] など) を参照し、print を使用してパラメーター値を出力します。 右側の [スケジューリング設定] パネルの [スケジューリングパラメーター] セクションで、これらのパラメーターに値を割り当てます。

パラメーター割り当てエリアでパラメーターに値を割り当て、コードエリアで組み込みパラメーター var1 とカスタムパラメーター var2 および var3 を参照します。辞書オブジェクトが追加されると、パラメーターは args['var1']args['var2'] 、および args['var3'] になります。値を割り当てる方法を次の例に示します。

  • 組み込み変数 var1 に業務日付を割り当てます:var1=$bizdate

  • カスタムパラメーター var2 に業務日付を割り当てます:var2=${yyyymmdd}

  • カスタムパラメーター var3 にスケジュール時刻を割り当てます:var3=$[yyyymmdd]

汎用 Shell ノードの設定例

一般的な Shell ノードの変数に、カスタム名を付けることはできません。変数は $1$2$3 のように、昇順の連番で命名する必要があります。パラメーターの数が 10 を超える場合は、${10} 構文を使用して変数を宣言します。

Shell ノードの 10 番目以降のパラメーターは、${10} 形式を使用して参照します (例: echo ${10})。

パラメーターの割り当てエリアでパラメーターに値を割り当て、コードエリアで組み込み変数 $1 とカスタムパラメーター $2$3 を参照します。以下に値の割り当て例を示します:

説明

汎用 Shell ノードは、式ベースのパラメーター割り当てのみをサポートします。複数のパラメーター割り当てはスペースで区切ります。値は、定義された順序でパラメーターに対応します。たとえば、Shell ノードで定義された最初のパラメーターは $1 であるため、パラメーター割り当て領域の最初の値 ($bizdate) は $1 に割り当てられます。

  • 組み込み変数 $1 に業務日付を割り当てます:$bizdate

  • カスタムパラメーター $2 に業務日付を割り当てます:${yyyymmdd}

  • カスタムパラメーター $3 にスケジュール時刻を割り当てます:$[yyyymmdd]

サポートされているスケジューリングパラメーターの割り当て形式の詳細については、「サポートされているスケジューリングパラメーターの形式」をご参照ください。スケジューリングパラメーターの設定と使用の完全なワークフローについては、「スケジューリングパラメーターの設定と使用」をご参照ください。

バッチ同期の例

Data Integration でスケジューリングパラメーターを使用する一般的なシナリオについては、「バッチ同期タスクでのスケジューリングパラメーターの使用」をご参照ください。