Как отфильтровать слова, содержащие числа, при подсчете слов в Scala - PullRequest
0 голосов
/ 19 апреля 2019

как я могу исключить слова, содержащие цифры, когда делаю это в Scala

новейшая версия Scala

val reduceOut=sc.textFile("...").flatMap(x=>x.split("\\W+")).map(x=>(x,1)).reduceByKey(_+_)

мой результат подсчета слов содержит много не-слов, таких как:

... (Tgpa5nwsjf, 1198974) (Crwxd7gute, 1198974) (D64eg5gtow, 1198974) ...

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете исключить слова, содержащие цифры, используя регулярные выражения. Вам необходимо отфильтровать ненужные слова перед тем, как сопоставить их количество с 1.Use filterNot, как показано в приведенном ниже коде:

sc.textFile("...")
  .flatMap(x=>x.split("\W+"))
  .filterNot(_.matches(".*\\d.*"))  //filter out words containing digits
  .map(x=>(x,1)).reduceByKey(_+_)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...