Flink CDC这个读取pg为啥会有这个错 是flink版本问题嘛 这里用的1.16.2的 但是1.13.5的就可以?
从你提供的错误信息来看,这个问题可能是由于Flink的PG connector版本和你的PostgreSQL版本不匹配导致的。Flink的PG connector默认使用的是PostgreSQL的JDBC驱动,而这个驱动并不支持所有版本的PostgreSQL。
具体来说,你使用的Flink版本对应的PG connector可能使用了PostgreSQL的JDBC驱动9.4版本,而这个版本并不支持你的PostgreSQL版本所特有的某些特性。因此,当你尝试使用这些特性时,就会遇到错误。
解决这个问题的一个方法是将Flink的PG connector升级到最新的版本,或者降级你的PostgreSQL版本到一个更老的版本,使得它们能够兼容。
另外,你也可以尝试使用PostgreSQL的官方Connector,而不是Flink的PG connector。PostgreSQL的官方Connector通常会随着PostgreSQL版本的更新而更新,因此它应该可以支持所有版本的PostgreSQL。
看你线上版本是啥,https://stackoverflow.com/questions/76303872/classcastexception-while-flink-run-cannot-assign-instance-of-java-util-linkedh,此回答整理自钉群“Flink CDC 社区”
在Flink 1.13.5版本中,CDC支持PostgreSQL数据库,而在Flink 1.16.2版本中,CDC不再支持PostgreSQL数据库,而是新增了对MySQL和Oracle数据库的支持。因此,如果使用Flink 1.16.2版本来读取PostgreSQL数据库,就会出现这个错误。
要解决这个问题,可以尝试以下两种方法:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。