Spark Scala: эффективный способ сравнения слов в двух строках - PullRequest
0 голосов
/ 28 февраля 2019

Я ищу эффективный метод, способствующий параллелизму в искре, который сравнивает слова в двух строках.Две строки будут столбцом в двух наборах данных.Задача проста: подсчитать количество подходящих слов в одной строке, которые встречаются в другой строке.
например, "AA BB CC", "AA A CC DD" -> 2 (слова AA и CC)
например, "BB CC", "AA A CC DD" -> 1 (слова CC)

Есть ли эффективный метод в Scala, который я могу применить вместо написания цикла для прохождения каждого слова в одной строке?

1 Ответ

0 голосов
/ 28 февраля 2019

Разделить строку, преобразовать в набор и найти пересечение

def common_words(x: String, y: String) = x.split(" ").toSet.intersect(y.split(" ").toSet)

Использование:

common_words("AA BB CC", "AA A CC DD")
res3: scala.collection.immutable.Set[String] = Set(AA, CC)
scala> common_words("BB CC", "AA A CC DD")
res4: scala.collection.immutable.Set[String] = Set(CC)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...