FAQ - 实时开发任务读取kafka 数据显示异常 科学计数法

问题描述/异常栈
实时开发任务读取kafka后 数据显示异常 显示为科学计数法 FAQ-实时开发任务读取kafka 数据显示异常 科学计数法 - 图1
解决方案
对于canal-json等cdc格式,flink默认将Decimal转为科学计数法,flink提供了配置项可以保持Decimal原样输出: FAQ-实时开发任务读取kafka 数据显示异常 科学计数法 - 图2 https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/connectors/table/formats/canal/
因此,在实时传输任务的自定义参数处,可以进行如下配置: target.sink.options.value.canal-json.encode.decimal-as-plain-number true FAQ-实时开发任务读取kafka 数据显示异常 科学计数法 - 图3 另外该配置中的canal-json,也可以根据去向kafka时的序列化格式相应的改为debezium-json等,即: target.sink.options.value.debezium-json.encode.decimal-as-plain-number

作者:焦巍