我对Spark和编程也很陌生,我无法理解如何处理rdd.RDD[(Int, Iterable[Double])] = ShuffledRDD[10] at groupByKey
类型的Rdd。我对在spark中学习groupByKey有点兴趣,我有一个过滤的RDD
scala> p.first
res11: (Int, Double) = (1,299.98)
我在应用GroupByKEy而不是reduceByKey后得到上面的结果现在我有了类型(Int,Iterable [Double])的rdd,我想得到像(Int,sum(Double))的结果。 我试过这个,但得到了错误。
scala> val price = g.map((a,b) => (a, sum(b)))
<console>:33: error: wrong number of parameters; expected = 1
val price = g.map((a,b) => (a, sum(b)))
请建议并帮助我理解它
答案 0 :(得分:0)
g.mapValues(_.sum)
,这是g.map { case (k, v) => (k, v.sum) }