当前位置: 首页 > 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",

相关文章:

  • 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 处理数据库模块
  • 企业建设网站意义/阿里指数
  • 日本网站制作/关键词优化排名第一
  • 上海做网站的公司多少钱/百度网盘人工客服电话多少
  • 镇江市建设审图网站/大连企业网站建站模板
  • 宝鸡市今日头条新闻/快速优化网站排名软件
  • 苏州做网站哪家好/bt磁力天堂torrentkitty