kafka connector 中的輕量級ETL-transfomation功能介紹

在kafka connector的使用中,可能因爲各種原因(業務原因、connector需要key或者schema等)需要用到transfomation,處理消息的內容。下面列舉了kafka connector 自帶的transfomation的功能,幫助大家瞭解一下,當然有能力也可以自己開發transfomation組件。

功能 轉換器名稱 轉換器類型 獨有配置 對應功能(修改kafka Message)
插入字段 InsertField org.apache.kafka.connect.transforms.${name}.(key/value) offset.field 添加offset記錄
partition.field 添加對應kafka分區記錄
timestamp.field 添加對應時間戳字段
topic.field 添加對應kafka分區字段記錄
static.field 添加寫死的記錄名
static.field 添加寫死的記錄值
       
替換字段 ReplaceField blacklist 要丟棄的字段名
whitelist 要改名的字段列表
renames 改名對應映射:old_fied1:new_filed1,old_fied2:new_filed2
       
遮擋字段 MaskField fields 要加密(丟棄)的字段列表
       
包裝字段(整個消息包裝成一個字段) HoistField field 被包裝後的字段名
       
拆包字段(只能取一個字段) ExtractField field 要取出來的字段
       
設置消息Schema SetSchemaMetadata schema.name 設置schema名稱
schema.version 設置schema版本
       
轉換timestamp字段類型 TimestampConverter target.type 目標timestamp類型(unix/Date/Time/Timestamp)
field timestamp字段名
format yyyyMMdd
         
給kafka消息添加key ValueToKey   fields 將值的哪個字段作爲kafka消息的key
         
用時間戳來改變目的表或文件名 TimestampRouter   timestamp.format 改變消息的timestamp格式:yyyyMMdd
topic.format ${topic}${timestamp}調用topic名和時間戳,生成字段裏的新topic名
         
用正則表達式改變目的表或文件名 RegexRouter   regex 該topic名要匹配什麼正則:DC1-TEST-(.*)
  replacement 要代替的心topic名:$1
         
展開嵌套的數據接口 Flatten   delimiter 將嵌套的結構展開,指定的分隔符
         
改變字段的數據類型 Cast   spec 轉換字段類型foo:int8,bar:float32
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章