Flink CDC各位大佬,有遇到过这个问题么?

Flink CDC各位大佬,有遇到过这个问题么? https://github.com/ververica/flink-cdc-connectors/issues/773

展开
收起
wenti 2023-01-29 17:22:35 173 分享 版权
1 条回答
写回答
取消 提交回答
  • 遇到的问题:

    Flink CDC 作业在处理 Oracle 数据库的更改时遇到以下错误:

    java.lang.RuntimeException: Failed to deserialize Debezium message.
    Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of int out of START_ARRAY token
    解决方案:

    此错误通常是由 Debezium 版本不兼容或 Oracle 表的列数据类型不正确造成的。

    解决步骤:

    检查 Debezium 版本:确保您使用的 Debezium 版本与 Flink CDC 连接器版本兼容。
    检查 Oracle 表的列数据类型:确保 Oracle 表中涉及的列数据类型与 Debezium 事件中声明的数据类型兼容。例如,Oracle 中的 INT 类型应该映射到 Debezium 事件中的 long 类型。
    检查 JSON 解析器:确保您使用的是正确的 JSON 解析器。Debezium 使用 Jackson JSON 解析器,因此您需要在 Flink 作业中配置它。
    重新部署作业:在进行上述更改后,重新部署 Flink 作业。
    其他提示:

    您可以使用 Debezium 提供的 Debezium Schema Registry 来验证 Oracle 表的模式是否与 Debezium 事件兼容。
    您还可以在 Flink 作业中使用 Flink SQL 的 PRINT 语句 来检查 Debezium 事件的格式。
    如果您仍然遇到问题,请提供更多详细信息,例如 Flink 作业的代码、Debezium 连接器配置和 Oracle 表的模式。

    2024-02-26 16:31:34
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理