spark遇到的decimal精度缺失的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark遇到的decimal精度缺失的问题相关的知识,希望对你有一定的参考价值。

参考技术A decimal进行相关计算的时候精度会缺失,比如 字段a decimal(38,18) 字段b decimal(38,18)
a+b 产生的数据类型就是出现decimal(38,17) 这种情况

在spark.2.3.2 版本以上确实会出现以上的问题
解决办法是添加配置

这个参数默认是true 就是允许精度缺失,改成false可以解决这个问题

参考文件 : https://issues.apache.org/jira/browse/SPARK-27089?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&focusedCommentId=16787374#comment-16787374

https://cloud.tencent.com/developer/news/483615

以上是关于spark遇到的decimal精度缺失的问题的主要内容,如果未能解决你的问题,请参考以下文章

DECIMAL NUMERIC 数据类型中的 MySQL 精度问题

sqlserver中的小数类型(float和decimal)

decimal.JS 快速入门

如何优化 spark 函数以将双精度值舍入到小数点后 2 位?

mysql 小数详情

float精度丢失问题解决,用decimal.Decimal