自訂參數分為系統內建參數、自訂參數${..}、自訂參數$[...]、常量,不同類別的參數賦值格式及取值不同。本文為您介紹不同格式自訂參數的取值差異對比情況。
不同格式自訂參數的應用對比
以目前時間為
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 | 不支援 | 重要 調度參數賦值運算式中不支援空格,您可以使用兩個調度參數,然後在代碼引用時使用空格進行拼接。
|