Я не могу найти верхнее слово в массиве int и Strings.
См. Приведенный ниже массив и требуемый вывод: Считайте, что n является RDD, и предложите мне Требуемые функции для получения вывода.
scala> n.take(10)
res3: Array[(Int, String)] = Array((4,Hi how are you ,how), (2,hello good good to hear good))
O / P: Array ((4, how), (2, good)) // как верхнее слово в I строке .. хорошо - это верхнее слово во второй строке.
мы можем использовать следующий код, чтобы получить только самые лучшие слова, но я хотел, чтобы в каждой строке я хотел получить верхнее слово.
val msg = n.map{case(val1, val2) => (val2).mkString("")}
val words =msg.flatMap(x => x.split(" "))
val result = words.map(x => (x, 1)).reduceByKey((x, y) => x + y)
val sortReuslts=result.sortBy(x => (-x._2,x._1))
Спасибо :)