【发布时间】:2015-09-12 18:05:54
【问题描述】:
我是 Scala 和 Spark 的新手。我正在使用 twitter 数据进行 spark 流式传输。我将流平面映射为单个单词。现在,我需要在处理之前从流数据中删除以#、@ 开头的推文单词和 RT 等单词。我知道这很容易做到。我为此编写了过滤器,但它不起作用。任何人都可以帮助解决这个问题。我的代码是
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()
语言过滤器也显示错误。
谢谢。
【问题讨论】:
-
也许您可以向我们展示您编写的代码,以便我们更好地帮助您?
-
我的代码是这样的 - 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("#")))
-
编辑您的问题并在其中添加代码。评论对降价的支持有限。
-
@SNR 请阅读this,这样我们才能真正为您提供帮助。
标签: scala twitter apache-spark twitter4j spark-streaming