Hello! 欢迎来到小浪云!


Flink-Connector-Mysql-Cdc 监听主键为 Binary 格式的 MySQL 表时出现错误,如何解决?


avatar
小浪云 2024-11-11 38

Flink-Connector-Mysql-Cdc 监听主键为 Binary 格式的 MySQL 表时出现错误,如何解决?

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 的最新稳定版本。在最新版本中,该问题已得到修复。

具体操作步骤如下:

  1. 更新 maven 依赖:
<dependency>   <groupId>com.ververica</groupId>   <artifactId>flink-connector-mysql-cdc</artifactId>   <version>2.1.3</version> </dependency>
登录后复制
  1. 重新构建和部署作业。
  2. 确认问题已解决。

其他信息

此问题的相关 issue 已在 github 上提出并已解决:https://github.com/ververica/flink-cdc-connectors/issues/2746。

相关阅读