Spark Streaming - Twitter - 过滤推文数据

Spark Streaming - Twitter - Filtering tweet data

我是 Scala 和 Spark 的新手。我正在使用 Twitter 数据进行 Spark Streaming。我将流平面化为单个 words.Now,我需要在处理它们之前从流数据中消除以 #、@ 开头的推文词和 RT 等词。我知道 do.I 为此编写过滤器很容易,但它不起作用。任何人都可以帮忙吗?我的密码是

val sparkConf = new SparkConf().setMaster("local[2]")
    val ssc = new StreamingContext(sparkConf, Seconds(2))
    val stream = TwitterUtils.createStream(ssc, None)
    //val lanFilter = stream.filter(status => status.getLang == "en")
    val RDD1 = stream.flatMap(status => status.getText.split(" "))
    val filterRDD = RDD1.filter(word =>(word !=word.startsWith("#")))
    filterRDD.print()

语言过滤器也显示错误。

谢谢。

你的lambda表达式正确吗?我想你想要:

val filterRDD = RDD1.filter(word => !word.startsWith("#"))

您可以使用内置的单词过滤器支持:

TwitterUtils.createStream(ssc, None, Array("filter", "these", "words")) 

但是如果你想修复你的代码:

.filterNot(_.getText.startsWith("#"))

关于语言,请参阅此question