我知道Spark的旧版本仅支持java.math中的BigDecimal类型。但是我发现了这个拉取请求:https://github.com/apache/spark/pull/10125。我尝试使用它,使用BigInteger类型也没有问题。但是在the spark documentation中,仍然没有提及BigInteger。 那么,我可以安全地使用这种类型吗?
答案 0 :(得分:0)
Spark确实支持Java BigIntegers,但可能会损失一些精度。如果BigInteger的数值适合长整数(即-2 ^ 63和2 ^ 63-1之间),则Spark将其存储为LongType。否则它将存储为DecimalType,但是此类型仅支持38位精度。有关详情,请参见Decimal source code。