DataWorks數據集成實時ETL支持字段編輯與賦值組件使用,可以在來源與去向組件間新增字段編輯與賦值組件按配置的過濾規則,進行新增字段的編輯和賦值。
前提條件
已完成數據集成的基本配置與網絡資源配置。
數據集成的同步類型為單表實時。
步驟一:配置數據集成任務
新建數據源,詳情請參見:創建并管理數據源。
新建數據集成任務,詳情請參見:數據集成側同步任務。
說明當數據集成側同步任務的同步類型為單表實時,可在數據來源組件與數據去向組件之間新增數據處理組件。詳情可參見支持的數據源及同步方案。
步驟二:添加字段編輯與賦值組件
在實時ETL任務編輯頁DAG畫布中,單擊來源與去向組件之間的按鈕,添加字段編輯與賦值組件。
配置字段編輯與賦值組件。
字段詳情
字段名稱:上游輸出的字段名稱。
類型:上游輸出的數據類型。
取值:上游已有字段值或新增字段的取值方式,包括賦值、變量和函數三種可選類型。
操作:對于上游輸出字段,可以選擇是否將該字段向下游輸出。
新增字段:單擊字段編輯與賦值頁面左下角的新增字段添加新的字段。
賦值:將手動輸入的文本內容轉換為指定的數據類型后賦值新字段。
變量:在同步運行時將內置變量取值賦值新字段,支持的內置變量如下表所示。
說明不同源端和目標端由于系統特性原因可能不支持以下所有變量。
變量名
描述
源端
PROCESS_TIME
記錄被同步任務消費的時間,13位毫秒時間戳。
DATASOURCE_NAME_SRC
源端數據源名稱。
DB_NAME_SRC
源端數據庫名。
SCHEMA_NAME_SRC
源端schema名稱。
TABLE_NAME_SRC
源端表名。
TOPIC_NAME_SRC
源端Topic名。
目標端
TABLE_NAME_DEST
目標端表名。
TOPIC_NAME_DEST
目標端Topic名。
SCHEMA_NAME_DEST
目標端schema名。
DB_NAME_DEST
目標端數據庫名。
DATASOURCE_NAME_DEST
目標端數據源名稱。
函數:在同步運行時進行函數計算,將計算結果賦值給新字段,如果函數處理過程發生異常,對應記錄將被視為臟數據處理,計入同步任務臟數據統計并根據臟數據容忍配置決定任務是否異常退出。
函數名稱
參數
說明
DATE_FORMAT
參數1:數值類型上游字段,10位UNIX時間戳或13位毫秒時間戳。
參數2:時間戳類型,unix表示10位UNIX時間戳,millis表示13位毫秒時間戳。
參數3:轉換時使用的時區。
參數4:需要格式化為的日期字符串格式,例如
yyyy-MM-dd HH:mm:ss:SSS ZZ
。yyyy
代表年份,MM
代表月份,dd
代表天,HH
代表24小時制時,mm
代表分鐘,ss
代表秒,SSS
代表毫秒,ZZ
代表時區。
將時間戳轉換為特定格式的時間字符串。
TO_TIMESTAMP
參數1:文本類型上游字段,特定格式的時間字符串。
參數2:轉換的時間戳類型,unix表示10位UNIX時間戳,millis表示13位毫秒時間戳。
參數3:轉換時使用的時區。
參數4:時間字符串格式,例如
yyyy-MM-dd HH:mm:ss:SSS ZZ
。yyyy
代表年份,MM
代表月份,dd
代表天,HH
代表24小時制時,mm
代表分鐘,ss
代表秒,SSS
代表毫秒,ZZ
代表時區。
將時間轉換成10位或者13位時間戳。
SUBSTRING
參數1:文本類型上游字段。
參數2:子串的起始位置,子串包含起始位置字符,最小起始位置為0。
參數3:子串長度,長度值小于等于0時返回從起始位置到末尾的子串。
獲取字符串中的子串。
后續操作
完成來源信息、字段編輯與賦值以及去向信息的配置后,可單擊右上角的模擬運行,對數據集成任務進行模擬運行,以便查看輸出數據結果,是否符合您的需求。