DataWorksData Integration在整庫即時同步任務中,支援通過函數運算式為目標表欄位賦值。
使用限制
當前僅資料來源為MySQL或PolarDB,資料去向為MaxCompute或Hologres的整庫即時同步任務,支援在目標表欄位賦值時使用函數運算式定義賦值。
支援的函數和文法
支援的函數
|
函數名稱 |
說明 |
參數 |
運算式樣本 |
|
CONCAT |
字串串連。 |
|
|
|
DATE_FORMAT |
將時間戳記轉換為特定格式的時間字串。 |
|
|
|
TO_TIMESTAMP |
將時間轉換成10位或者13位時間戳記。 |
|
|
|
DATE_CONVERT |
將特定格式位於特定時區的時間字串轉換為另一種特定格式位於另一特定時區的時間字串。 |
|
|
|
SUBSTRING |
擷取字串中的子串。 |
|
|
|
LOWER |
字串轉小寫。 |
|
|
|
UPPER |
字串轉大寫。 |
|
|
支援的文法
-
僅支援函數調用運算式,運算式內容為函數名、括弧和參數,不支援其他類型運算式,例如:
DATE_FORMAT(#{create_time},"millis","Asia/Shanghai","yyyyMMdd")。 -
函數運算式參數支援使用
""引用字元常量,例如:CONCAT("hello","world")。 -
函數運算式參數支援使用數字引用數值常量,例如:
SUBSTRING(#{col1},0,10)。 -
函數運算式的參數支援嵌套函數調用,例如:
CONCAT(SUBSTRING(#{col1},0,10),"test")。 -
函數運算式的參數支援使用
#{}引用上遊節點輸出資料行值。 -
函數運算式的參數支援使用
${}引用內建變數,支援的內建變數類型與各通道附加列設定可選的內建變數類型相同,例如:CONCAT(SUBSTRING(#{col1},0,10),${DATASOURCE_NAME_SRC})。 -
函數名和內建變數名大小寫不敏感。
前提條件
操作步驟
一、進入整庫即時任務編輯頁
-
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入Data Integration。
-
在左側導覽列單擊
,進入同步任務頁面。 -
找到已建立的整庫即時同步任務,單擊操作列的,進入同步任務編輯頁。
二、在目標表添加函數處理列
添加的函數處理需要寫入到目標表的列中,您可以先編輯目標表結構添加欄位。
-
在整庫即時任務編輯頁,單擊下一步,找到目標表映射地區,單擊刷新映射。
-
找到需要增加函數處理列的目標表,單擊目標表名列
按鈕進入目標表結構編輯頁面。 -
在字段地區單擊加入欄位,配置完成後單擊應用並刷新映射。
您也可通過大量操作中的目標表結構-批量修改和新增字段選項,對多個目標表添加函數處理列。
三、定義函數運算式
-
在目標表字段賦值列單擊配置,進入欄位賦值頁面。
-
在目標表字段地區找到已添加的函數處理列,選擇賦值方式為函數。然後在赋值列填寫函數內容。支援的函數和文法,請參見支援的函數和文法。
賦值方式 支援 手動賦值、選擇變數、函數 三種方式。只有來源表中沒有的欄位才支援賦值,否則使用來源表的同名欄位賦值。