Spark错误:无法初始化类org.apache.spark.rdd.RDDOperationScope

时间:2015-08-09 22:16:58

标签: apache-spark

我在笔记本电脑上创建了一个独立的星火群集, 然后我进入一个火花项目的sbt控制台并尝试嵌入一个火花实例:

val conf = new SparkConf().setAppName("foo").setMaster(/* Spark Master URL*/)
val sc = new SparkContext(conf)

到那里一切正常,然后我尝试

sc.parallelize(Array(1,2,3))
// and I get: java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.rdd.RDDOperationScope$

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

也许你错过了lib

 <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.4.4</version>
   </dependency>

答案 1 :(得分:1)

此错误消息通常伴随 obj

这表示依赖项中存在冲突版本(显然)。在Spark世界中,通常是因为我们使用的某些lib与spark附带的lib有依赖关系冲突。

使用coursier resolve可以了解正在发生的事情。 (gradle也有debugging dependency

Cause: com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.9.8

然后为我们的应用程序构建一个uber jar,或排除构建中的冲突(如果可能)。例如cs resolve org.apache.spark:spark-core_2.11:2.4.5 | grep jackson cs resolve com.thesamet.scalapb:scalapb-json4s_2.11:0.10.0 | grep jackson

build.gradle

答案 2 :(得分:0)

如果使用Spark控制台,请将以下jar添加到spark的Bin文件夹中。 https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.9.9.3