Я пробовал это на Scalafiddle
val myRDD: Iterable[(Double,Double)] = Seq((1.1, 1.2), (2.1, 2.2))
val RDDofSeq = myRDD.map{case (x,y) => Seq(x,y)}
println(RDDofSeq) // returns List(List(1.1, 1.2), List(2.1, 2.2))
Единственное отличие состоит в том, что я использовал myRDD.map(..
вместо myRDD.mapValues(..
Убедитесь, что myRDD
действительно имеет тип Iterable[(Double,Double)]
!
Обновление после комментария:
Если я правильно вас понимаю, вы хотите Seq[Double]
, а не Seq[Seq[Double]]
Это было бы так:
val RDDofSeq = myRDD.map{case (k,v) => v} // returns List(1.2, 2.2)
Обновление после сброса типа теперь:
Значения имеют тип Iterable[(Double,Double)]
, поэтому вы не можете соответствоватьна пару.
Попробуйте это:
val RDDofSeq = groupedrdd.mapValues{iterable =>
Seq(iterable.head._1, iterable.head._2)}