Этот вопрос касается groupByKey () в spark с использованием scala.
Рассмотрим ниже данные
Name,marks,value
Chris,30,1
Chris,35,1
Robert,12,1
Robert,20,1
Создано ниже rdd
val dataRDD = sc.parallelize(List(("Chris",30,1),("Chris",35,1),("Robert",12,1),("Robert",20,1)))
Я пытаюсь создать пару ключ-значение, например
val kvRDD = dataRDD.map(rec=> (rec._1, (rec._2,rec._3)))
Теперь я хочу сумму обоих значений.
val sumRDD = kvRDD.groupByKey().map(rec => (rec._1,(rec._2._1.sum, rec._2._2.sum)))
Однако я сталкиваюсь с ошибкой ниже.
<console>:28: error: value _2 is not a member of Iterable[(Int, Int)]
Разве мы не можем добиться необходимого, используя groupByKey
?