当前位置: 首页 > news >正文

Flink CDC MySQL 表字段定义为 decimal 输出乱码问题优雅解决方式

Flink CDC MySQL 表字段定义为 decimal 输出乱码问题解析

代码运行环境

Flink 1.15 + FlinkCDC 2.4.0 + jdk1.8 +springboot 2.3

1、原因分析

Flink CDC 底层使用 Debezium 连接器来捕获 MySQL 的数据变更。当 MySQL 表中的字段类型为 decimal 时,Debezium 默认会将 decimal 类型的数据转换为二进制格式(java.math.BigDecimal)进行传输。然而,在 Flink 中,如果直接使用默认的反序列化方式,可能会导致 decimal 数据无法正确解析,从而出现乱码问题。这是由于 Flink 和 Debezium 在处理 decimal 类型数据时的格式不完全兼容所导致的。

2、解决方案

使用 JsonDebeziumDeserializationSchema 自定义转换规则参数 Map<String, Object> customConverterConfigs configs.put("decimal.format",

http://www.dtcms.com/a/250934.html

相关文章:

  • logback常用配置
  • aws(学习笔记第四十四课) opensearch
  • ShardingSphere 全面学习路径
  • 理解 package.json 中的版本控制:“nuxt“: “3.16.0“ vs “nuxt“: “^3.16.0“ 的深层差异
  • 青少年编程与数学 01-011 系统软件简介 21 杀毒软件及安全软件
  • Android 多 BaseUrl 动态切换策略(结合 ServiceManager 实现)
  • 【数据结构中哈希函数与哈希表】
  • Leetcode 刷题记录 14 —— 回溯
  • 《拖延心理学》:深度剖析与应对指南​
  • Java对象中的MarkWord
  • 解决电脑第一排按键功能失效的问题
  • 【Redis】分布式锁
  • 手动 + 自动双方案组合:Innocise 壁虎吸盘灵活适配多场景无损搬运需求
  • Redis中的set底层实现
  • 行为设计模式之State(状态)设计模式
  • ceil方法
  • WebStorm编辑器侧边栏
  • 40套精品大气黑金系列行业PPT模版分享
  • 【Bluedroid】蓝牙启动之核心模块(startProfiles )初始化与功能源码解析
  • gradle的 build时kaptDebugKotlin 处理数据库模块
  • Laravel 12 更新与之前版本结构变更清单
  • 4.查看、删除数据库
  • 第9章:Neo4j集群与高可用性
  • 基于docker的nocobase本地部署流程
  • 快速使用 Flutter 中的 SnackBar 和 Toast
  • SpringBoot学习day3-SpringBoot注解开发(新闻项目后段基础)
  • 【项目实训】【项目博客#07】HarmonySmartCodingSystem系统前端开发技术详解(5.12-6.15)
  • 工厂模式Factory Pattern
  • KeyOpt
  • 征程 6 Cache 使用场景