【发布时间】:2018-04-26 22:20:13
【问题描述】:
我是 Spark 的新手。我想使用这个 test.txt 文件输出前 2 个 twitter 提及:
“我喜欢跳舞@Kelsey,尤其是和你一起@Kelsey!”
“不敢相信你去了@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 仍然是一条线,因此它不会匹配。无论如何我可以测试行中的单词而不是行本身吗?另外,如何检查推文中的提及是否多余?
【问题讨论】:
标签: regex scala apache-spark