标签: scala apache-spark apache-spark-sql spark-dataframe
数据框只有一列“年龄”,它有1.4亿行。 例如,df.agg(sum("age"))和df.rdd.map(x=>x(0).toString.toFloat).sum会获得不同的值。它们之间差异几乎是三倍。
df.agg(sum("age"))
df.rdd.map(x=>x(0).toString.toFloat).sum
答案 0 :(得分:2)
这是因为浮点类型的有效数量不够,所以最后的总和小于实际结果。 array.map(_.toDouble).sum时,结果是正确的。
array.map(_.toDouble).sum