我正在尝试使用JRE 1.8.0的Eclipse运行Spark应用程序,并面临以下例外。为什么?
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
18/04/01 17:05:30 INFO SparkContext: Running Spark version 1.4.1
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at org.apache.spark.util.TimeStampedWeakValueHashMap.<init>(TimeStampedWeakValueHashMap.scala:42)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:277)
at com.pooja.spark.training.sparkexamples.wordcount$.main(wordcount.scala:10)
at com.pooja.spark.training.sparkexamples.wordcount.main(wordcount.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more
" Spark版本1.4.1" ?!那很老。除非您知道自己在做什么,否则请升级到1.x发行链中的最新版本或2.3.0。
线程中的异常" main" java.lang.noclassdeffounderror:scala/collection/gentraversableonce $ class
运行时异常是因为您在运行时环境中没有Scala库(在JVM的ClassPath中(。您必须告诉Eclipse使用Scala作为运行Spark应用程序时必须包含在JVM中的依赖项。
我建议将Eclipse与SBT或Apache Maven等工具一起管理依赖项。
当我们使用时,我还建议在Apache Spark示例中尝试火花示例。