向twitter popularhashtags添加语言过滤器-scala

向twitter popularhashtags添加语言过滤器-scala,scala,twitter,apache-spark,twitter4j,spark-streaming,Scala,Twitter,Apache Spark,Twitter4j,Spark Streaming,我不熟悉Spark和Scala。我运行了Spark流媒体作业twitter流行的哈希标签 我为一些单词添加了一个过滤器,并能够过滤掉推文: val filter = Array("spark", "Big Data") val stream = TwitterUtils.createStream(ssc, None, filter) 同样,我想添加一个语言过滤器,这样只有英语tweet才能流式传输。Twitter4j有Track()和位置。它有语言过滤器吗?如果是这样的话,它在Scala中是

我不熟悉Spark和Scala。我运行了Spark流媒体作业twitter流行的哈希标签

我为一些单词添加了一个过滤器,并能够过滤掉推文:

val filter = Array("spark", "Big Data")
val stream = TwitterUtils.createStream(ssc, None, filter) 

同样,我想添加一个语言过滤器,这样只有英语tweet才能流式传输。Twitter4j有
Track()
位置
。它有语言过滤器吗?如果是这样的话,它在Scala中是如何工作的?

我在重复中已经说过的话

Spark使用Twitter4J作为馈送。自3.0.6版起的Twitter4J具有
getLang
(),允许您:

.filter(_.getLang == "en")
可以针对twitter4j.Status的
DStream
使用

但不幸的是,Spark使用了Twitter4J()的旧版本,它没有
getLang


要么将Spark中的Twitter4J升级到3.0.6,等待Spark升级Twitter4J,要么采用完全不同的方法。

谢谢您的回答。但是,我得到了运行时错误-java.lang.NoSuchMethodError:twitter4j.Status.getLang()Ljava/lang/String。我正在使用sbt构建应用程序。代码类似于val stream=TwitterUtils.createStream(ssc,None)val lanFilter=stream.filter(status=>status.getLang==“en”)val hashTags=lanFilter.flatMap(status=>status.getText.split(“”).filter(u.startsWith(“#”)在sbt构建的文件中,我将依赖项更改为libraryDependencies+=“org.twitter4j%”“twitter4j stream”%“3.0.6”。你能告诉我哪里出了问题吗?看起来Spark没有使用3.0.6。谢谢。那么解决办法是什么。我使用Spark 1.3,我的sbt依赖项是libraryDependencies+=“org.apache.Spark”%“Spark core”%“1.3.0”%“libraryDependencies+=“org.apache.Spark”%“Spark streaming”%“Spark streaming”%”1.3.0“%”提供了“libraryDependencies+=“org.apache.spark”%%“spark streaming twitter”%%“1.3.0”libraryDependencies+=“org.twitter4j”%%“twitter4j stream”%%“3.0.6”。在这方面有什么投入吗?