在下面的代码中,我试图组合值:
val rdd: org.apache.spark.rdd.RDD[((String), Double)] =
sc.parallelize(List(
(("a"), 1.0),
(("a"), 3.0),
(("a"), 2.0)
))
val reduceByKey = rdd.reduceByKey((a , b) => String.valueOf(a) + String.valueOf(b))
reduceByValue
应该包含 (a , 1,3,2) 但收到编译时错误:
Multiple markers at this line - type mismatch; found : String required: Double - type mismatch; found : String
required: Double
什么决定了reduce函数的类型?不能转换类型吗?
我可以groupByKey
用来达到相同的结果,但只是想了解reduceByKey
。