自定義參數分為系統內置參數、自定義參數${..}、自定義參數$[...]、常量,不同類別的參數賦值格式及取值不同。本文為您介紹不同格式自定義參數的取值差異對比情況。
不同格式自定義參數的應用對比
以當前時間為
2021年11月01日
,任務每天00:00
定時運行,示例不同格式自定義參數的賦值情況,具體如下表。
說明 假設代碼引用方式均為
pt=${datetime}
。
參數格式 | 描述 | 調度參數賦值 | 參數替換結果 |
---|---|---|---|
${yyyymmdd} |
獲取業務時間。 | datetime=${yyyymmdd} |
datetime=20211031 |
$[yyyymmddhh24miss] |
獲取定時時間,精確到秒。 | datetime=$[yyyymmddhh24miss] |
datetime=20211101000000 |
$bizdate |
獲取業務時間。 | datetime=$bizdate |
datetime=20211031 |
$cyctime |
獲取定時時間,精確到秒。 | datetime=$cyctime |
datetime=20211101000000 |
$gmtdate |
獲取當前時間,精確到天。 | datetime=$gmtdate
|
datetime=20211101 |
$bizmonth |
獲取業務月份。 | datetime=$bizmonth |
示例當前時間為
2021年11月01日 :
|
${…}和$[…]參數的功能差異
${…}和$[…]參數的功能差異如下表所示。
對比項 | ${…}參數 | $[…]參數 |
---|---|---|
時間基準 | 以$bizdate 的取值時間為基準參與運算。
|
以$cyctime 的時間為基準參與運算。
|
補數據功能 | 補數據時選擇的業務日期和調度參數的替換結果保持一致。 | 執行補數據時,調度參數替換結果為選擇的業務日期+1 天。
例如,補數據選擇的業務日期為 |
時間精確度 | 精確到天。
取N年前、N月前等時間數據時,建議使用${...}自定義表達式。 |
精確到秒。
取N小時前、N分鐘前等時間數據時,建議使用$[...]自定義表達式。例如: 說明 $[…]參數不支持
${yyyy-mm-dd-1/24} 等用法,建議您使用$[yyyy-mm-dd-1-1/24] 。
|
本文以ODPS SQL節點為例,假設當前時間為
2021年07月20日10時30分00秒
,為您展示${…}和$[…]參數的時間取值配置,具體如下表。
時間取值 | ${…}參數 | $[…]參數 |
---|---|---|
取年份:2021 |
|
|
取年份:21 |
|
|
取年份:2020 |
|
不支持 |
取月份:07 |
|
|
取日期(天):20 |
|
|
取日期:2021年06月20日 |
|
|
取日期:2021年07月19日 |
|
|
取日期:2020年07月20日 |
|
|
取時間:10:30:00 | 不支持 |
|
取時間:2021-07-20 10:30:00 | 不支持 |
|
取時間:2021-07-20 10:29:00 | 不支持 |
|
取時間:2021-07-20 09:30:00 | 不支持 |
|
取前一天時間,精確到秒,且年月日與時分秒之間無空格:
2021071910:30:00 |
不支持 |
|
取前一天時間,精確到秒,且年月日與時分秒之間有空格:
20210719 10:30:00 |
不支持 |
重要 調度參數賦值表達式中不支持空格,您可以使用兩個調度參數,然后在代碼引用時使用空格進行拼接。
|