我的数据库有numeric
值,最多为 256 位无符号整数。然而,火花的decimalType
限制为 Decimal(38,18)。
当我尝试对列进行计算时,会引发异常。
java.lang.IllegalArgumentException:要求失败:十进制精度 39 超过最大精度 38"。
是否有任何第三方库或解决方法可以解决此问题?或者 Spark 是为小于 Decimal(38,18) 的数字设计的?
如果必须存储为数字类型:
-
cast(value as Double)
(可能会损失精度)
-
cast(value as Decimal(38, 18))
(可能溢出)
如果你的数据不需要参与计算,你可以将它们转换为String
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)