全部產品
Search
文件中心

DataWorks:調度參數傳回值二次處理的典型情境

更新時間:Jun 19, 2024

調度參數只支援擷取時間類型資料,部分節點(例如,離線同步節點)配置了調度參數後,調度參數的傳回值不能直接使用,需要進行函數轉換等二次處理。本文為您介紹二次處理調度參數返回結果的典型情境。

背景資訊

調度參數支援的時間類型未覆蓋所有的時間情境,如果您的業務需要使用特殊時間格式,則可以使用引擎函數進行處理。二次處理調度參數時,部分節點不支援直接使用函數轉換參數返回結果。對於不支援直接使用函數轉換的節點,您可以通過賦值節點進行相關處理。

直接使用函數,或通過賦值節點二次處理調度參數的典型情境如下:
更多操作參考如下:

擷取上個月最後一天

使用調度參數擷取上個月最後一天的配置及測試結果如下表。
參數配置測試定時時間CYCTIME返回結果
  • 調度參數配置:last_month=$[yyyy-mm]
  • 處理調度參數的傳回值:SELECT REPLACE(DATEADD(date'${last_month}-01',-1,'dd'),'-','');
  • 預期返回格式:yyyymmdd
2021092600000020210831

擷取當前季度

使用調度參數擷取當前季度的配置及測試結果如下表。
參數配置測試定時時間CYCTIME返回結果
  • 調度參數配置:month=$[mm]
  • 處理調度參數傳回值:SELECT CEIL(INT('${month}')/3);
  • 預期傳回型別:正整數。
202110250017004

擷取定時時間15分鐘前的年、月、日、小時、分鐘

使用調度參數擷取定時時間15分鐘前的年、月、日、小時、分鐘的配置及測試結果如下表。
參數配置測試定時時間CYCTIME返回結果
  • 調度參數配置:
    • year=$[yyyy-15/24/60]
    • month=$[yyyymm-15/24/60]
    • day=$[yyyymmdd-15/24/60]
    • hour=$[hh24-15/24/60]
    • mi=$[mi-15/24/60]
  • 處理調度參數傳回值:select 'year=${year} month=${month} day=${day} hour=${hour} mi=${mi}';
  • 預期返回格式:
    • 年:yyyy
    • 月:yyyymm
    • 日:yyyymmdd
    • 小時:hh
    • 分鐘:mm
20210727000500
  • year=2021
  • month=202107
  • day=20210726
  • hour=23
  • mi=50

擷取時間區間,調度間隔為1天

擷取昨天00:00:00到今天00:00:00的時間區間,調度間隔為1天。時間格式為yyyymmddhh24miss,精確到秒。
說明 使用Kafka和LogHub離線同步指定時間區間的資料時,如需配置調度參數,則調度參數的日期格式為yyyymmddhh24miss,日期區間為左閉右開。詳情請參見Kafka ReaderLogHub(SLS) Reader。不同情境的資料增量同步處理,詳情請參見情境:配置增量資料離線同步任務
調度參數的配置及測試結果如下表。
參數配置測試定時時間CYCTIME返回結果
  • 調度參數配置:
    • beginDateTime=$[yyyymmdd-1]
    • endDateTime=$[yyyymmdd]
  • 處理調度參數傳回值:select '${beginDateTime}000000 ${endDateTime}000000';
  • 預期返回格式:yyyymmddhh24miss
20220117002300
  • 20220116000000
  • 20220117000000

擷取時間區間,調度間隔為1小時

擷取昨天00:00:00到今天00:00:00的時間區間,調度間隔為1小時。時間格式為yyyymmddhh24miss,精確到秒。
說明 使用Kafka和LogHub離線同步指定時間區間的資料時,如需配置調度參數,則調度參數的日期格式為yyyymmddhh24miss,日期區間為左閉右開。詳情請參見Kafka ReaderLogHub(SLS) Reader。不同情境的資料增量同步處理,詳情請參見情境:配置增量資料離線同步任務
調度參數的配置及測試結果如下表。
參數配置測試定時時間CYCTIME返回結果
  • 調度參數配置:
    • beginDateTime=$[yyyymmddhh24-1/24]
    • endDateTime=$[yyyymmddhh24]
  • 處理調度參數傳回值:select '${beginDateTime}0000 ${endDateTime}0000';
  • 預期返回格式:yyyymmddhh24miss
20220117002300
  • 20220116230000
  • 20220117000000