我正在Scala中使用Spark Streaming,在那里我正在处理Twitter数据。我有以下代码:
val ssc = new StreamingContext(new SparkConf(), Seconds(5))
val tweets = TwitterUtils.createStream(ssc, None)
val user = tweets.map(x=> x.getText())
val lang = tweets.map(x=> x.getLang())
我收到以下错误:
[error] /home/user/Lab1.1/Twitterstats.scala:103: value getLang is not a member of twitter4j.Status
[error] val lang = tweets.map(x=> x.getLang())
[error] ^
[error] one error found
上面的代码有什么问题?有人可以帮忙吗。
spark-streaming-twitter使用Twitter4j。getLang()
因为版本仅支持3.0.6的Twitter4J。如果您使用的是1.5.2(或更低版本)的spark-streaming-twitter,则将无法调用,getLang()
因为它使用的是twitter4j的3.0.3版本。从1.6.0版本开始,作为功能支持4.0.4版本。getLang()
因此,您可以将spark-streaming-twitter升级到1.6.0或更高版本。或者,您可以使用另一个3rd party库来检测您的推文的语言。
(可能重复)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句