我正在从堆栈溢出帖子中找到这个解决方案,我唯一的要求是如何在应用df.agg(sum())
函数之前将我想要求和的值限制为小数点后的2位数?
例如:我有如下的值,sum函数对它进行求和,
2.346 1.549
但是我希望将值舍入为小数点后的2位数
2.35 1.55
在总结之前.我该怎么做?我无法找到任何功能的子sum().round
功能sum
.
注意:我使用的是Spark 1.5.1版本.
你可以使用bround:
val df = Seq(2.346, 1.549).toDF("A") df.select(bround(df("A"), 2)).show +------------+ |bround(A, 2)| +------------+ | 2.35| | 1.55| +------------+ df.agg(sum(bround(df("A"), 2)).as("appSum")).show +------------------+ | appSum| +------------------+ |3.9000000000000004| +------------------+ ^ df.agg(sum(df("A")).as("exactSum")).show +--------+ |exactSum| +--------+ | 3.895| +--------+