我正在尝试将Twitter数据流式传输到火花流式传输中。我使用以下命令导出了其他罐子 -
spark-shell --jars twitter4j-core-4.0.1.jar,spark-streaming-twitter_2.11-1.6.2.jar
但是在ssc.start()
时,会出现以下错误 -
scala> ssc.start()
线程“streaming-start”中的异常java.lang.NoClassDefFoundError: twitter4j / StreamListener 在org.apache.spark.streaming.twitter.TwitterInputDStream.getReceiver(TwitterInputDStream.scala:55)
在 org.apache.spark.streaming.scheduler.ReceiverTracker $$ anonfun $ 8.apply(ReceiverTracker.scala:415)
在 org.apache.spark.streaming.scheduler.ReceiverTracker $$ anonfun $ 8.apply(ReceiverTracker.scala:414)
在 scala.collection.TraversableLike $$ anonfun $ $地图1.适用(TraversableLike.scala:244)
在 scala.collection.TraversableLike $$ anonfun $ $地图1.适用(TraversableLike.scala:244)
在 scala.collection.IndexedSeqOptimized $ class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps $ ofRef.foreach(ArrayOps.scala:108)
在 scala.collection.TraversableLike $ class.map(TraversableLike.scala:244)
at scala.collection.mutable.ArrayOps $ ofRef.map(ArrayOps.scala:108)
在 org.apache.spark.streaming.scheduler.ReceiverTracker.launchReceivers(ReceiverTracker.scala:414)
在 org.apache.spark.streaming.scheduler.ReceiverTracker.start(ReceiverTracker.scala:157)
在 org.apache.spark.streaming.scheduler.JobScheduler.start(JobScheduler.scala:82)
在 org.apache.spark.streaming.StreamingContext $$ anonfun $ liftedTree1 $ 1 $ $ 1.适用MCV $ SP(StreamingContext.scala:610)
在 org.apache.spark.streaming.StreamingContext $$ anonfun $ liftedTree1 $ 1 $ 1.适用(StreamingContext.scala:606)
在 org.apache.spark.streaming.StreamingContext $$ anonfun $ liftedTree1 $ 1 $ 1.适用(StreamingContext.scala:606)
在 org.apache.spark.util.ThreadUtils $$匿名$ 1.run(ThreadUtils.scala:122)
引起:java.lang.ClassNotFoundException:twitter4j.StreamListener
在java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 16更多
18/03/29 16:20:55 INFO StreamingContext:StreamingContext started
我是以下链接中给出的代码 -
https://acadgild.com/blog/streaming-twitter-data-using-spark/
谢谢..
答案 0 :(得分:0)
似乎缺少依赖项,您需要添加
请尝试将此jar添加为依赖项,它具有您需要的类
twitter4j.StreamListener
connect
您将需要找到为您的spark版本和scala / java / python版本构建的jar版本