在ODPS SQL 中使用調度參數
DataWorks的調度參數分爲兩種,一種是系統調度參數,另一種是自定義點都參數。
系統調度參數只有兩個:
bizdate:獲取到業務日期,展示格式爲:yyyymmdd;
cyctime:獲取到任務實例的定時時間,格式爲:yyyymmddhh24miss;
在SQL節點中使用系統調度參數
以下是在SQL代碼中的用法,並設置該任務的定時運行時間爲00:23分。
請注意:當代碼中使用了調度參數,在界面上直接運行的時候,需要傳入一個具體的值,因爲直接運行不會經過調度系統,所以參數不會轉換,需要輸入一個具體的值,該值僅本次運行有效。
當任務提交後,點擊冒煙測試運行,選擇傳入的業務日期時間,點擊確認。
運行結果如下:
可以看到,時間都已經被替換了,bizdate獲取到了我們傳入的業務日期,cyctime獲取到了任務的定時時間。
在SQL中使用自定義調度參數
DataWorks 除了支持系統默認調度參數外,還支持自定義調度參數,可以對時間的展示格式進行選擇,而且可以在時間數值上進行相加減。
使用自定義調度參數的方法還是一樣,先在代碼中聲明變量,然後給變量賦值。
運行結果如下:
特別注意:花括號和中括號的用途
若對時間表達式的格式有要求,可自行修改,比如:$[yyyy-mm-dd],
注意,如果是DATETIME格式,請拆開成兩個變量組合一下,中間用空格隔開。
在給參數賦值時,$[] 中寫時間表達式即可。
獲取+/-週期的方法:
後N年:$[yyyy+N]
前N年:$[yyyy-N]
後N月:$[yyyymm+N]
前N月:$[yyyymm-N]
後N周:$[yyyymmdd+7*N]
前N周:$[yyyymmdd-7*N]
後N天:$[yyyymmdd+N]
前N天:$[yyyymmdd-N]
後N小時:$[yyyymmddhh24miss+N/24]
前N小時:$[yyyymmddhh24miss-N/24]
後N分鐘:$[yyyymmddhh24miss+N/60/24]
前N分鐘:$[yyyymmddhh24miss-N/60/24]
關於在SQL中使用調度參數,還有任何疑問,可以加入DataWorks的釘釘羣,羣號如下:
DataWorks數加交流0羣(羣號:11718465)