Я новичок в Spark. Я хочу вывести 2 верхних упоминания в твиттере, используя этот файл test.txt:
"Я люблю танцевать @ Келси, особенно с тобой @ Келси!"
"Не могу поверить, что ты пошел в @harvard. Давай, парень @harvard"
"Я люблю @harvard"
По сути, несколько упоминаний в одном твите учитываются только один раз. Таким образом, результат будет выглядеть так:
(2, @harvard)
(1, @Kelsey)
Пока мои коды выглядят следующим образом:
val tweets = sc.textFile("testFile")
val myReg = """(?<=@)([\\w]+)""".r
val mentions = tweets.filter(x => (myReg.pattern.matcher(x).matches))
Однако это не сработает, потому что x по-прежнему является строкой и в результате не будет соответствовать. Можно ли как-то проверить слово в строке вместо самой строки? Кроме того, как я могу проверить, является ли это упоминание избыточным в твите?