自定義TableFormat主要包含如下步驟:
實現(xiàn)TableFormatFactory接口
-
實現(xiàn)SerializationSchemaFactory、DeserializationSchemaFactory 序列化和反序列化接口
兩個工廠接口用于創(chuàng)建Schema的序(反)列化對象類淤堵。
實現(xiàn)SerializationSchema、DeserializationSchema
在source或sink Function的invoke方法中對數(shù)據使用SerializationSchema的serialize或DserializationSchema的deserialize方法對數(shù)據進行序列化和反序列化稀拐。
demo可參考https://github.com/zhuxiaoshang/flink-be-god/tree/master/flink-formats/flink-format-customized/src/main/java/format/customized
具體代碼實現(xiàn)可以參考flink源碼中的幾種format。