flink-connector-mysql-cdc 監(jiān)聽(tīng) mysql 時(shí)遇到主鍵為 binary 格式的錯(cuò)誤
在使用 flink-connector-mysql-cdc 2.1.1 監(jiān)聽(tīng) mysql 數(shù)據(jù)庫(kù)時(shí),如果 mysql 表的主鍵為二進(jìn)制格式,可能會(huì)出現(xiàn)錯(cuò)誤提示:[b cannot be cast to Java.lang.comparable。如何解決這個(gè)問(wèn)題?
問(wèn)題分析
從錯(cuò)誤提示可以看出,問(wèn)題出在拆分表時(shí)。當(dāng) mysql 表的主鍵為二進(jìn)制格式時(shí),拆分器無(wú)法將二進(jìn)制主鍵轉(zhuǎn)換為可比較的格式,導(dǎo)致了類(lèi)型轉(zhuǎn)換異常。
解決方法
經(jīng)過(guò)調(diào)查,該問(wèn)題的解決方法是升級(jí)到 flink-connector-mysql-cdc 的最新穩(wěn)定版本。在最新版本中,該問(wèn)題已得到修復(fù)。
具體操作步驟如下:
- 更新 maven 依賴(lài):
<dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-mysql-cdc</artifactId> <version>2.1.3</version> </dependency>
- 重新構(gòu)建和部署作業(yè)。
- 確認(rèn)問(wèn)題已解決。
其他信息
此問(wèn)題的相關(guān) issue 已在 github 上提出并已解決:https://github.com/ververica/flink-cdc-connectors/issues/2746。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END