在rdd上运行spark aggregate funtion传递max作为第一个函数

时间:2016-04-12 11:42:05

标签: scala apache-spark

org.apache.spark.rdd.RDD[Double] = MapPartitionsRDD[14] at map at <console>:39
scala> r.aggregate(0)(math.max(_,_),_+_)
<console>:42: error: type mismatch;
 found   : Double
 required: Int
              r.aggregate(0)(math.max(_,_),_+_)
                                        ^                                 

我想知道我做错了什么,因为max函数也可以应用于double

1 个答案:

答案 0 :(得分:4)

您使用Int作为种子,需要Double

r.aggregate(0D)(math.max(_,_), _+_)