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

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。

以上就是Flink-Connector-Mysql-Cdc 监听主键为 Binary 格式的 MySQL 表时出现错误,如何解决?的详细内容,更多请关注硕下网其它相关文章!