Spark 是否支持 BigInteger 类型?

Sta*_*sky 8 java scala apache-spark apache-spark-sql

我知道旧版本的 Spark 仅支持 java.math 中的 BigDecimal 类型。但我发现了这个拉取请求:https : //github.com/apache/spark/pull/10125。我尝试使用它,使用 BigInteger 类型没有问题。但是在spark 文档中仍然没有提到 BigInteger。那么,我可以安全地使用这种类型吗?

Kel*_*hue 5

Spark 确实支持 Java BigIntegers,但可能会损失一些精度。如果 BigInteger 的数值适合 long(即介于 -2^63 和 2^63-1 之间),则 Spark 将其存储为 LongType。否则将存储为 DecimalType,但此类型仅支持 38 位精度。有关详细信息,请参阅十进制源代码