色偷偷91综合久久噜噜-色偷偷成人-色偷偷尼玛图亚洲综合-色偷偷人人澡久久天天-国内精品视频一区-国内精品视频一区二区三区

Hello! 歡迎來到小浪云!


Flink CDC 監聽 MySQL 二進制主鍵時出現 ClassCastException 如何解決?


avatar
小浪云 2024-11-10 182

Flink CDC 監聽 MySQL 二進制主鍵時出現 ClassCastException 如何解決?

flink cdc 監聽 mysql binary 主鍵時出現 classcastexception

使用 flink cdc 監聽 mysql 時,如果 mysql 表的主鍵是二進制格式,可能會遇到以下錯誤:

caused by: java.lang.classcastexception: [b cannot be cast to java.lang.comparable
登錄后復制

問題分析

此錯誤表明在拆表時出現了問題。flink cdc 將表拆分為更小的分片,用于并行讀取。拆分時,flink 會比較主鍵值以確定分片的邊界。但是,對于二進制格式的主鍵,主鍵值無法直接轉換為可比較的對象,因此會出現 classcastexception。

解決方案

解決此問題的方法是升級到 flink cdc 2.1.2 或更高版本。在這些版本中,已經修復了該問題。此外,還可以通過以下方式解決問題:

  • mysql 表的主鍵更改為非二進制格式。
  • 使用 flink 提供的 binaryprefixboundednessassigner 來處理二進制主鍵。

具體步驟

將 flink cdc 2.1.1 升級到 2.1.2 或更高版本:

mvn dependency:upgrade -dartifact org.apache.flink:flink-connector-mysql-cdc
登錄后復制

使用 binaryprefixboundednessassigner 來處理二進制主鍵:

ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); // 創建 MySQL source CDCSource<Tuple5<ByteString, ByteString, BigInteger, ByteString, Long>> source = CDCSource.<Tuple5<ByteString, ByteString, BigInteger, ByteString, Long>>builder()         .hostname("localhost")         .port(3306)         .database("test_db")         .tableList("test_table")         .username("root")         .password("root")         // 使用 BinaryPrefixBoundednessAssigner 處理二進制主鍵         .assigners(new BinaryPrefixBoundednessAssigner())         .build();
登錄后復制

相關閱讀

主站蜘蛛池模板: 91一区二区三区 | 国产免费亚洲 | 91精品啪在线观看国产线免费 | 性做久久久久久久免费看 | 免费高清毛片在线播放视频 | 农村妇女高清毛片一级 | 国产v片成人影院在线观看 国产v在线 | 天天干天天射天天爽 | 免费三级黄色 | 国产一区二区三区福利 | 国产黄色一级片 | 国产伦精品一区二区三区免费迷 | 久久综合九色欧美综合狠狠 | 久久综合五月 | 97色在线 | 99九九99九九九视频精品 | 亚洲国产精品久久精品成人 | 亚洲区一区| 色爱综合网 | 久久久国产一区二区三区 | 亚洲综合久久久 | 国产亚洲欧美日韩在线观看不卡 | a亚洲欧美中文日韩在线v日本 | 黄视频免费在线观看 | 一级毛片视频在线观看 | 国产三级网站 | 看真人一级毛多毛片 | 日韩伦理免费 | 国产精品久久久久激情影院 | 一级做a爰片性色毛片16美国 | 免费视频精品一区二区 | 日韩精品视频福利资源站 | 麻豆国产原创 | 久久综合九色综合国产 | 永久免费aavv视频播放 | 国内视频一区二区三区 | 国产一区二区在线看 | 天天躁夜夜躁 | 天天舔天天射天天干 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠视频无 日日噜噜夜夜躁躁狠狠 | 日本视频久久 |