【问题标题】:Exception in thread "streaming-start" java.lang.NoClassDefFoundError: twitter4j/StreamListener线程“流式启动”java.lang.NoClassDefFoundError 中的异常:twitter4j/StreamListener
【发布时间】:2018-09-09 02:30:34
【问题描述】:

我正在尝试将 Twitter 数据流式传输到 spark 流中。我已经使用以下命令导出了额外的 jar -

spark-shell --jars twitter4j-core-4.0.1.jar,spark-streaming-twitter_2.11-1.6.2.jar

但在 ssc.start() 时,出现以下错误 -

scala> ssc.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$map$1.apply(TraversableLike.scala:244)

在 scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)

在 scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)

在 scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)

在 scala.collection.TraversableLike$class.map(TraversableLike.scala:244)

在 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.apply$mcV$sp(StreamingContext.scala:610)

在 org.apache.spark.streaming.StreamingContext$$anonfun$liftedTree1$1$1.apply(StreamingContext.scala:606)

在 org.apache.spark.streaming.StreamingContext$$anonfun$liftedTree1$1$1.apply(StreamingContext.scala:606)

在 org.apache.spark.util.ThreadUtils$$anon$1.run(ThreadUtils.scala:122)

原因:java.lang.ClassNotFoundException: twitter4j.StreamListener

在 java.net.URLClassLoader.findClass(URLClassLoader.java:381)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:424)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)

...还有 16 个

18/03/29 16:20:55 INFO StreamingContext:StreamingContext 开始

我是以下链接中给出的代码-

https://acadgild.com/blog/streaming-twitter-data-using-spark/

谢谢..

【问题讨论】:

    标签: apache-spark spark-dataframe spark-streaming


    【解决方案1】:

    似乎缺少依赖项,您需要添加

    请尝试将此jar添加为依赖项,它具有您需要的类

    twitter4j.StreamListener

    https://mvnrepository.com/artifact/org.twitter4j/twitter4j-stream/4.0.7
    

    您需要找到为您的 spark 版本和 scala/java/python 版本构建的 jar 版本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-17
      • 2011-09-14
      • 2014-11-06
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多