Я новичок в scala - spark и загрузил мой набор данных в RDD.Вот мой пример набора данных
scala> flightdata.collect
res39: Array[(String, Int)] = Array((DFW,11956), (DTW,588), (SEA,607), (JFK,1595), (SJC,327), (ORD,4664), (PHX,4993), (STL,661),
из вышеуказанного набора данных, мне нужно найти общую сумму.Поэтому я написал так:
scala> flightdata.values.sum
res40: Double = 445827.0
scala> flightdata.map(_._2).reduce( (a,b) => a + b)
res41: Int = 445827
Как value.sum, так и map, используя lower, дают правильный ответ.Но я пытаюсь переписать тот же код кортежа с помощью Reduce.
scala> flightdata.reduce( (s1,s2) => s1._2 + s2._2)
<console>:26: error: type mismatch;
found : Int
required: (String, Int)
flightdata.reduce( (s1,s2) => s1._2 + s2._2)
это вызывает ошибку.несоответствие типов.почему это вызывает ошибку несоответствия типов