scala - Zeppelin:运行笔记本时出错

标签 scala apache-spark gradle apache-kafka apache-zeppelin

我提供的jar是Zeppelin Spark 解释器的依赖项。在运行包含上述jar的服务调用的笔记本时,笔记本保持错误状态。 Zeppelin日志显示以下异常:

Caused by: java.lang.NoClassDefFoundError: scala/reflect/internal/AnnotationInfos$ErroneousAnnotation$
    at scala.tools.nsc.interpreter.ReplGlobal$$anon$1.newTyper(ReplGlobal.scala:34)
    at scala.tools.nsc.typechecker.Namers$Namer.<init>(Namers.scala:58)
    at scala.tools.nsc.typechecker.Namers$NormalNamer.<init>(Namers.scala:50)
    at scala.tools.nsc.typechecker.Namers$class.newNamer(Namers.scala:51)
    at scala.tools.nsc.interpreter.ReplGlobal$$anon$1.newNamer(ReplGlobal.scala:23)
    at scala.tools.nsc.typechecker.Analyzer$namerFactory$$anon$1.apply(Analyzer.scala:43)
    at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:430)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:397)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:397)
    at scala.collection.Iterator$class.foreach(Iterator.scala:893)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
    at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:397)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1625)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1610)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1605)
    at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:388)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:804)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:763)
    at scala.tools.nsc.interpreter.IMain$Request.compile$lzycompute(IMain.scala:939)
    at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:934)
    at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:531)
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:519)
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:517)
    ... 18 more

只是为了简要介绍一下jar,它基本上是使用Spark流向Kafka读写。

该代码是用Scala编写的,而我正在使用Gradle构建一个Fat-jar。
奇怪的是,当我使用SBT构建jar时,它工作正常(使用了程序集插件)。
这是我的Gradle文件:
plugins {
    id "com.github.johnrengelman.shadow" version "1.2.3"
}
group 'com.demo'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'scala'
sourceCompatibility = 1.8

configurations { providedCompile }

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    providedCompile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.0.0'
    providedCompile group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.0.0'
    compile group: 'org.apache.spark', name: 'spark-streaming_2.11', version: '2.0.0'
    compile group: 'org.apache.spark', name: 'spark-streaming-kafka_2.11', version: '1.6.2'
    compile group: 'org.apache.spark', name: 'spark-catalyst_2.11', version: '2.0.0'
    compile group: 'org.apache.kafka', name: 'kafka_2.11', version: '0.9.0.1'
    compile group: 'org.apache.kafka', name: 'kafka-clients', version: '0.9.0.1'
    testCompile group: 'junit', name: 'junit', version: '4.11'
}



shadowJar {
    zip64 true
}

build.dependsOn(shadowJar);

sourceSets.main.compileClasspath += configurations.providedCompile
sourceSets.test.compileClasspath += configurations.providedCompile
sourceSets.test.runtimeClasspath += configurations.providedCompile

最佳答案

这是spark解释器中的依赖项冲突。将以下内容添加到排除对象中可能会解决您的问题:

org.scala-lang:scala-library,org.scala-lang:scala-reflect

关于scala - Zeppelin:运行笔记本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39608945/

相关文章:

dataframe - Pyspark 中的任何函数是否生成相同的连续唯一值集?

android - 当通过 Android Studio 生成新的 .apk 时,从输出文件夹中删除旧的 .apk

android - Gradle:创建lib.aar文件后如何执行任务?

scala - 如何在 .withColumn 函数中获取列的 Integer 值? [ Spark -斯卡拉]

apache-spark - spark 2.1 中的 createTempview 和 createGlobaltempview 以及 CreateorReplaceTempview 之间的区别?

scala - 在 Java 中的 scala.collection.immutable.list 中间添加元素

scala - Spark 数据集中的 max() 和 struct()

java - 在Gradle中的AspectJ插件中使用方面库

scala - 在 Set 但不是 List 上使用 scalaz 的 MA 方法时出现编译问题

scala - 将至强融核与基于 JVM 的语言结合使用