When ticdc collects binlog to Kafka, decimal precision is lost.
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
Please answer these questions before submitting your issue. Thanks!
### 1. Minimal reproduce step (Required)
### 2. What did you expect to see? (Required)
### 3. What did you see instead (Required)
### 4. What is your TiDB version? (Required)
详细内容在论坛这里
https://asktug.com/t/topic/1049923/5
ticdc 采集binlog到kafka,推断源码精度是按照float转的,无法保留精度
上游是业务库,很多涉及金额的字段,也不能改业务库的金额为string类型
ticdc同步到kafka,精度已经丢失,下游无法恢复精度。虽然这种精度丢的很小。原则上影响不大
但是ticdc集成demezium的配置貌似是把decimal转为float来出来,对位数很长的数,会精度丢失,另外float可能精度不准,1变成0.99999999这种,影响业务和测试理解
期望是
1, 能不能通过调整flink cdc的源码来使用decimal.handling.mode=string逻辑来控制数据转换逻辑
2, 未来能否开放或封装debezium的原生配置作为ticdc的配置,从而用户可以更灵活的使用原生参数,控制写出数据的行为
3, 未来能否想flink cdc mysql 一样,对时间类型做封装。目前ticdc对time,datetime,date,timestamp的处理是debezium原生的处理方式,需要用户自行转换,才能变成需要的值
Contributor guide
Assessment
This issue has not been assessed yet.