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

DataWorks:さまざまなタイプのノードのスケジューリングパラメーターを設定する

最終更新日:Nov 09, 2025

MaxCompute SQL ノードなどの SQL ノードのスケジューリングパラメーターを設定するメソッドを参照して、他のタイプのノード (一般的な Shell ノードと PyODPS ノードを除く) のカスタム変数を定義し、スケジューリングパラメーターをそのカスタム変数に割り当てることができます。一般的な Shell ノードと PyODPS ノードでは、特定の設定が異なります。この Topic では、さまざまなタイプのノードのスケジューリングパラメーターを設定する方法の例を示します。

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

SQL ノードとバッチ同期ノードのスケジューリングパラメーターは、ほとんどのタイプのノードに適したメソッドを使用して設定されます。このメソッドを参照して、ほとんどのタイプのノードのスケジューリングパラメーターを設定できます。この例では、MaxCompute SQL ノードを使用します。このセクションでは、カスタムパラメーターをカスタム変数に割り当てる方法と、コードでカスタム変数を参照する方法について説明します。

説明

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

-- データタイムスタンプを取得します。
SELECT '${var1}' '${var2}';
-- スケジューリング時間を取得します。
SELECT '${var3}' '${var4}';
-- 定数を取得します。
SELECT '${var5}';

image

パラメーター割り当てエリアでパラメーターに値を割り当てます。その後、コードで組み込みシステム変数 `var1` と `var3`、カスタムパラメーター `var2` と `var4`、および定数 `var5` を参照できます。次の例は、値を割り当てる方法を示しています。

  • var1: var1 として $bizdate を指定します。この変数は、データタイムスタンプを取得するために使用されます。$bizdate は組み込みシステムパラメーターです。

  • var3: var3 として $cyctime を指定します。この変数は、スケジューリング時間を取得するために使用されます。$cyctime は組み込みシステムパラメーターです。

  • var2: var2 として ${yyyymmdd} を指定します。この変数は、データタイムスタンプを取得するために使用されます。

  • var4: var4 として $[yyyymmddhh24:mi:ss] を指定します。この変数は、スケジューリング時間を取得するために使用されます。

  • var5: 定数 abc をこの変数に割り当てます。

スケジューリングパラメーターの設定方法と使用方法の詳細については、「Scheduling properties」Topic の「ノードのスケジューリングプロパティを設定する」セクションをご参照ください。カスタムパラメーターをカスタム変数に割り当てる方法の詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。

PyODPS ノード

コードの変更を避けるため、PyODPS ノードでは、定義済みの変数をコード内の ${param_name} フォーマットの文字列に置き換えることはできません。ただし、コードが実行される前に、args という名前の辞書オブジェクトをグローバル変数に追加できます。これにより、PyODPS ノードは辞書オブジェクトからスケジューリングパラメーターの値を取得できます。

# カスタムパラメーター: var1 は組み込みパラメーターを取得します
a =args['var1']
print (format(a))
# カスタムパラメーター: var2 は ${...} フォーマットの値を取得します
b =args['var2']
print (format(b))
# カスタムパラメーター: var3 は $[...] フォーマットの値を取得します
c =args['var3']
print (format(c))

image

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

  • var1: var1 として $bizdate を指定します。この変数は、データタイムスタンプを取得するために使用されます。$bizdate は組み込みシステムパラメーターです。

  • var2: var2 として ${yyyymmdd} を指定します。この変数は、データタイムスタンプを取得するために使用されます。

  • var3: var3 として $[yyyymmdd] を指定します。この変数は、データタイムスタンプを取得するために使用されます。

スケジューリングパラメーターの設定方法と使用方法の詳細については、「Scheduling properties」Topic の「ノードのスケジューリングプロパティを設定する」セクションをご参照ください。カスタムパラメーターをカスタム変数に割り当てる方法の詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。

Shell ノード設定例

一般的な Shell ノードでは、カスタム変数名を指定することはできません。変数は、$1$2$3 など、序数に基づいて名前を付ける必要があります。パラメーターの数が 10 以上に達した場合は、${Number} を使用して超過変数を宣言します。たとえば、${10} を使用して 10 番目の変数を宣言します。

# カスタムパラメーター: 組み込みパラメーターを取得します
echo $1
# カスタムパラメーター: ${...}
echo $2
# カスタムパラメーター: $[...]
echo $3

image

パラメーター割り当てエリアで値を割り当てます。その後、コードでパラメーター `$1`、`$2`、`$3` を参照できます。次の例は、値がどのように割り当てられるかを示しています。

説明

一般的な Shell ノードの場合、式を使用してのみカスタムパラメーターをカスタム変数に割り当てることができます。複数のカスタムパラメーターはスペースで区切ります。カスタム変数が定義されているのと同じ順序で、カスタムパラメーターをカスタム変数に割り当てるようにしてください。たとえば、[スケジューリングパラメーター] セクションに入力した最初のパラメーター $bizdate は、最初の変数 $1 に割り当てられます。

  • $1: $1 として $bizdate を指定します。この変数は、データタイムスタンプを取得するために使用されます。$bizdate は組み込みシステムパラメーターです。

  • $2: $2 として ${yyyymmdd} を指定します。この変数は、データタイムスタンプを取得するために使用されます。

  • $3: $3 として $[yyyymmdd] を指定します。この変数は、スケジューリング時間を取得するために使用されます。

スケジューリングパラメーターの設定方法と使用方法の詳細については、「Scheduling properties」Topic の「ノードのスケジューリングプロパティを設定する」セクションをご参照ください。カスタムパラメーターをカスタム変数に割り当てる方法の詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。