反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

自定義參數

一、概述

  1. 在實際場景中,使用者難免會需要應對一些變化,就需要去編寫一些變數。只通過語句編寫參數變數會比較複雜,而本章將介紹 ETL 作業中快捷高效的自定義參數的方法。

  2. 使用者可以自定義【時間參數】和【常量參數】,定義成功後可以在其他節點中引用參數。

二、自定義時間參數

1
參數介紹。
  1. 自定義時間參數數需要基於系統內建參數 ${cyctime},透過對 ${cyctime} 加減實現時間的自定義。

  2. ${cyctime} 預設格式為yyyy-mm-dd hh:mm:ss。

     yyyy 表示 4 位的年份,取值為 ${cyctime} 的年份。

     yy 表示 2 位的年份,取值為 ${cyctime} 的年份。

     mm 表示月,取值為 ${cyctime} 的月份。

     dd 表示天,取值為 ${cyctime} 的天。

     hh 表示小時(24小時制),取值為 ${cyctime} 的小時。

    mi 表示分鍾,取值為 ${cyctime} 的分鍾。

    ss 表示秒,取值為 ${cyctime} 的秒。

  3. 預設了幾種時間參數實現方式,具體見下表。

實現內容

輸入方式

示例(假設${cyctime}的值為 2021-09-09 20:45:50)

後 N 年

yyyy+N

若N為 1,則值為 2022

前 N 年

yyyy-N

若N為 1,則值為 2020

後 N 月

yyyymm+N

若N為 6,則值為 202203

前 N 月

yyyymm-N

若N為 6,則值為 202103

後 N 周

yyyymmdd+7*N

若N為 1,則值為 20210916

前 N 周

yyyymmdd-7*N

若N為 1,則值為 20210902

後 N 天,年月日加 N 天

yyyymmdd+N

若N為 1,則值為 20210910

前 N 天,年月日減 N 天

yyyymmdd-N

若N為 1,則值為 20210908

前 N 小時

yyyymmdd hh:mi:ss-N/24

若N為 1,則值為 20210909 19:45:50

後 N 小時

yyyymmdd hh:mi:ss+N/24

若N為 1,則值為 20210909 21:45:50

前 N 分鍾

yyyy-mm-dd hh:mi:ss-N/24/60

若N為 5,則值為 2021-09-09 20:40:50

後 N 分鍾

yyyy-mm-dd hh:mi:ss+N/24/60

若N為 5,則值為 2021-09-09 20:50:50

前 N 秒

yyyy-mm-dd hh:mi:ss-N/24/60/60

若N為 5,則值為 2021-09-09 20:45:45  

2
示例。
  1. 自定義一個【para_time 】參數,預設值為 yyyy-mm-1(意為取值為 ${cyctime} 的前一個月)。

  2. 在【離線同步】節點中使用該參數,只取出【mytime】日期欄位中大於參數的資料。

  3. 點選資料預覽,取出了執行前一個月內的資料。具體操作如下圖所示。

1.gif

三、自定義常量參數

1
參數介紹。
  1. 除了可以自定義時間參數,使用者還可以自定義常量參數,可以是數字或文字等。

  2. 常量參數支援設定的型別有:【字串】、【整型】、【雙精度型】、【布林型】。

2
示例。
  1. 定義一個參數【para_a】,預設參數值有多個,我們用【,】将'蘋果'和'香蕉'分開。

  2. 在其他節點的 SQL 語句中可以使用該參數,比如【離線同步】節點中只取出蘋果和香蕉的資料,具體實現步驟如下圖所示。

2.gif

 四、注意事項

1
字串型別引用。
  1. 若參數值是單個值,可以直接輸入文字,例如參數名稱為 a,值為:蘋果,使用時需要加單引號:'${a}'。

  2. 若參數值是多個值,參數值需要用單引號和逗號分開,例如數名稱為 a ,值為:'蘋果','香蕉',使用時不需要加單引號:${a}。

2
參數名和參數值中不允許包含${}。
3
 使用者設定的參數只歸屬於當前任務。

附件列表


主題: ETL作業(體驗功能)
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉