在建立作業過程中,支援在作業參數中設定時間變數萬用字元。

變數萬用字元格式

E-MapReduce 所支援的變數萬用字元的格式為${dateexpr-1d} 或者 ${dateexpr-1h} 的格式。例如,假設目前時間為 20160427 12:08:01

  • 如果在作業參數中寫成 ${yyyyMMdd HH:mm:ss-1d},那麼這個參數萬用字元在真正執行的時候會被替換成 20160426 12:08:01,即在當前日期上減了一天並精確到了秒。
  • 如果寫成 ${yyyyMMdd-1d},則執行時會替換成 20160426, 表示當前日期的前一天。
  • 如果寫成 ${yyyyMMdd},則會被替換成 20160427,直接表示當前的日期。

dateexpr 表示標準的時間格式運算式,對應的時間會按照該運算式指定的格式進行格式化,後面可以再跟上對應加減的時間。支援運算式後面的加減 1d(加減1天),也可以寫成加減 N 天或者加減 N 小時,例如 ${yyyyMMdd-5d}${yyyyMMdd+5d}${yyyyMMdd+5h}${yyyyMMdd-5h}都可以支援,對應的替換方式和前面描述的一致。

说明 目前 E-MapReduce 僅支援小時和天維度加減,即只支援在 dateexpr 後面 +Nd、-Nd、+Nh、-Nh 的形式(dateexpr 為時間格式運算式,N 為整數)。

樣本

作業中的 應用參數在實際執行時會被替換成:
jar ossref://emr/jar/hadoop/hadoop_wc.jar com.aliyun.emr.WordCount oss://emr/output/pt=20160426