Flink實戰(zhàn)之?dāng)U展JDBC Dialect

前言

Flink jdbc connect已經(jīng)為依賴于jdbc進行操作的數(shù)據(jù)庫系統(tǒng)提供了非常完善的功能。對于擴展只需要擴展其Dialect即可。

具體步驟

  1. 定義CustomizedDialect類,具體可參考MySQLDialect
    修改點:
    • TIMESTAMP_PRECISION
    • DECIMAL_PRECISION
    • dialectName()
    • canHandle() → "jdbc:xxx:" 如:"jdbc:clickhouse:"
    • getRowConverter() → 定義CustomizedRowConverter,參考MySQLRowConverter
    • defaultDriverName() 驅(qū)動名稱 如:"ru.yandex.clickhouse.ClickHouseDriver"
    • getUpsertStatement() 根據(jù)是否需要主鍵更新而定
  2. 將CustomizedDialect添加到JdbcDialects的dialect列表中

經(jīng)過上面兩步一個簡單的dialect就實現(xiàn)了,jdbc-connector是通過database的url來判斷具體選擇哪種方言來執(zhí)行的。

詳細(xì)代碼:https://github.com/zhuxiaoshang/flink-be-god/tree/master/flink-connector/flink-jdbc-dialect-customized/src/main/java/jdbc/dialect/customized

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容