ジョブを編集するときに、時間変数ワイルドカードを設定できます。
変数ワイルドカード形式
E-MapReduce (EMR) は、${dateexpr-1d} および ${dateexpr-1h} という形式の変数ワイルドカードをサポートしています。dateexpr は、標準の時間形式を指定します。次の表に、日付と時刻の形式を示します。
重要 式では大文字と小文字が区別されます。
| 指定子 | 説明 |
| yyyy | 4 桁の年を示します。 |
| MM | 2 桁の月を示します。 |
| dd | 2 桁の日を示します。 |
| HH | 2 桁の時間 (24 時間制) を示します。hh は 2 桁の時間 (12 時間制) を示します。 |
| mm | 2 桁の分を示します。 |
| ss | 2 桁の秒を示します。 |
時間変数は、yyyy と他の 1 つ以上の時間形式の組み合わせです。プラス記号 (+) またはマイナス記号 (-) を使用して、現在時刻に加算または減算することもできます。たとえば、${yyyy-MM-dd} は現在の日付を示します。
- 現在の日付の 1 年後は、${yyyy+1y} または ${yyyy-MM-dd hh:mm:ss+1y} と表すことができます。
- 現在の日付の 3 か月後は、${yyyyMM+3m} または ${yyyy-MM-dd hh:mm:ss+3m} と表すことができます。
- 現在の日付の 5 日前は、${yyyyMMdd-5d} または ${yyyy-MM-dd hh:mm:ss-5d} と表すことができます。
たとえば、現在の時刻が 20160427 12:08:01 であるとします。
- ${yyyyMMdd HH:mm:ss-1d} が変数ワイルドカードとして設定されている場合、ジョブの実行時に時刻は 20160426 12:08:01 に置き換えられます。現在の日付から 1 日が減算され、新しい時刻は秒単位まで正確です。
- ${yyyyMMdd-1d} が変数ワイルドカードとして設定されている場合、時刻は現在の日付の 1 日前を示す 20160426 に置き換えられます。
- ${yyyyMMdd} が変数ワイルドカードとして設定されている場合、時刻は現在の日付を示す 20160427 に置き換えられます。
説明
- 加算または減算できるのは、日または時間のみです。つまり、dateexpr の後に続くのは、+Nd、-Nd、+Nh、または -Nh のみです。N は整数である必要があります。
- 時間変数は yyyy で始まる必要があります。たとえば、${yyyy-MM} です。月などの特定の期間に基づいて値を取得する場合は、ジョブで次の関数を使用できます。
- parseDate(<パラメーター名>, <時間形式>): この関数を使用して、指定されたパラメーターを日付オブジェクトに変換できます。パラメーター名は、「設定パラメーター」セクションで指定された変数 (キー) 名を示します。時間形式は、変数名で使用される時間形式です。たとえば、current_time 変数のパラメーター名が ${yyyyMMddHHmmss-1d} の場合、時間形式は yyyyMMddHHmmss です。
- formatDate(<日付オブジェクト>, <時間形式>): この関数を使用して、指定された日付オブジェクトを時間形式の文字列に変換できます。
例:- ${formatDate(parseDate(current_time, 'yyyyMMddHHmmss'), 'HH')} は、current_time 変数からリテラル時間値を取得します。
- ${formatDate(parseDate(current_time, 'yyyyMMddHHmmss'), 'yyyy')} は、current_time 変数からリテラル年値を取得します。
Example
- [データプラットフォーム] タブに移動します。
- Alibaba Cloud アカウントを使用して、Alibaba Cloud EMR コンソール にログオンします。
- 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
- [データプラットフォーム] タブをクリックします。
- [プロジェクト] セクションで、プロジェクトを見つけて、[アクション] 列の [ジョブの編集] をクリックします。
- ジョブを設定します。
- 左側の [ジョブの編集] ペインで、特定のジョブ名をクリックし、右上隅にある [ジョブ設定] をクリックします。
- [ジョブ設定] パネルの [基本設定] タブの [設定パラメーター] セクションで、
アイコンをクリックして、次の図に示すように、上記のいずれかの形式で変数ワイルドカードを設定します。
設定が完了したら、ジョブで設定済みパラメーターのキーを参照できます。