flink-connector-mysql-cdc 監聽 mysql 時遇到主鍵為 binary 格式的錯誤
在使用 flink-connector-mysql-cdc 2.1.1 監聽 mysql 數據庫時,如果 mysql 表的主鍵為二進制格式,可能會出現錯誤提示:[b cannot be cast to Java.lang.comparable。如何解決這個問題?
問題分析
從錯誤提示可以看出,問題出在拆分表時。當 mysql 表的主鍵為二進制格式時,拆分器無法將二進制主鍵轉換為可比較的格式,導致了類型轉換異常。
解決方法
經過調查,該問題的解決方法是升級到 flink-connector-mysql-cdc 的最新穩定版本。在最新版本中,該問題已得到修復。
具體操作步驟如下:
- 更新 maven 依賴:
<dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-mysql-cdc</artifactId> <version>2.1.3</version> </dependency>
登錄后復制
- 重新構建和部署作業。
- 確認問題已解決。
其他信息
此問題的相關 issue 已在 github 上提出并已解決:https://github.com/ververica/flink-cdc-connectors/issues/2746。