Используйте Scala, чтобы найти наиболее распространенное «необычное» слово в ключах - PullRequest
0 голосов
/ 02 мая 2018

Мне нужно найти наиболее распространенное «необычное» слово в текстовом файле. У меня есть список общих слов и моя карта наиболее распространенных слов в файле.

Допустим, у меня есть

val commonWords = List("the","a","I","is")

и карта

val mostUsedWordsFromTextFile

Как мне зациклить карту чаще всего UsedWordsFromTextFile, пока я не нажму слово , а не в списке общих слов?

1 Ответ

0 голосов
/ 02 мая 2018

Предполагая, что вы введете:

val input = RDD(("hello", 4), ("the", 2), ("world", 6))

тогда вы могли бы:

  • отфильтровать слова, которые являются частью общих слов
  • взять самое популярное слово из оставшихся

таким образом:

val commonWords = Set("the", "a", "I", "is")

val result = input
  .filter { case (word, count) => !commonWords.contains(word) } // RDD(("hello", 4), ("world", 6))
  .takeOrdered(1)(Ordering[Int].on { case (word, count) => -count }) // Array(("world", 6))
  .head // ("world", 6)
  ._1 // world

См. Как найти максимальное значение в паре СДР? для различных способов реализации maxBy на RDD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...