前言
Flink jdbc connect已經(jīng)為依賴于jdbc進行操作的數(shù)據(jù)庫系統(tǒng)提供了非常完善的功能。對于擴展只需要擴展其Dialect即可。
具體步驟
- 定義CustomizedDialect類,具體可參考MySQLDialect
修改點:- TIMESTAMP_PRECISION
- DECIMAL_PRECISION
- dialectName()
- canHandle() → "jdbc:xxx:" 如:"jdbc:clickhouse:"
- getRowConverter() → 定義CustomizedRowConverter,參考MySQLRowConverter
- defaultDriverName() 驅(qū)動名稱 如:"ru.yandex.clickhouse.ClickHouseDriver"
- getUpsertStatement() 根據(jù)是否需要主鍵更新而定
- 將CustomizedDialect添加到JdbcDialects的dialect列表中
經(jīng)過上面兩步一個簡單的dialect就實現(xiàn)了,jdbc-connector是通過database的url來判斷具體選擇哪種方言來執(zhí)行的。