【问题标题】:Spark exception with java.lang.ClassNotFoundException: de.unkrig.jdisasm.Disassembler带有 java.lang.ClassNotFoundException 的 Spark 异常:de.unkrig.jdisasm.Disassembler
【发布时间】:2017-07-27 05:23:08
【问题描述】:

我正在运行 spark 版本 2.1.0,但出现以下异常。我得到了结果,但它抛出了异常

java.lang.ClassNotFoundException: de.unkrig.jdisasm.Disassembler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.codehaus.janino.SimpleCompiler.disassembleToStdout(SimpleCompiler.java:430)
    at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:404)
    at org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:311)
    at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:229)
    at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:196)
    at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:91)
    at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$.org$apache$spark$sql$catalyst$expressions$codegen$CodeGenerator$$doCompile(CodeGenerator.scala:935)
    at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:998)
    at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:995)
    at org.spark_project.guava.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
    at org.spark_project.guava.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
    at org.spark_project.guava.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
    at org.spark_project.guava.cache.LocalCache$Segment.get(LocalCache.java:2257)
    at org.spark_project.guava.cache.LocalCache.get(LocalCache.java:4000)
    at org.spark_project.guava.cache.LocalCache.getOrLoad(LocalCache.java:4004)
    at org.spark_project.guava.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
    at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$.compile(CodeGenerator.scala:890)
    at org.apache.spark.sql.execution.WholeStageCodegenExec.doExecute(WholeStageCodegenExec.scala:357)
    at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:114)
    at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:114)
    at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:135)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
    at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:132)
    at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:113)
    at org.apache.spark.sql.execution.SparkPlan.getByteArrayRdd(SparkPlan.scala:225)
    at org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:272)
    at org.apache.spark.sql.Dataset$$anonfun$org$apache$spark$sql$Dataset$$execute$1$1.apply(Dataset.scala:2371)
    at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:57)
    at org.apache.spark.sql.Dataset.withNewExecutionId(Dataset.scala:2765)
    at org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$execute$1(Dataset.scala:2370)
    at org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$collect(Dataset.scala:2377)
    at org.apache.spark.sql.Dataset$$anonfun$count$1.apply(Dataset.scala:2405)
    at org.apache.spark.sql.Dataset$$anonfun$count$1.apply(Dataset.scala:2404)
    at org.apache.spark.sql.Dataset.withCallback(Dataset.scala:2778)
    at org.apache.spark.sql.Dataset.count(Dataset.scala:2404)

我只是在读取文本文件并打印计数

val rdd = sparkLocal.read.text("/data/logs/file.log")
println(rdd.count)

但我得到了结果

这是我的 build.sbt

libraryDependencies ++= {
  val akkaVersion = "2.4.10"
  val sparkVersion = "2.1.0"

  Seq(
    "com.typesafe.akka" %% "akka-actor"                           % akkaVersion,
    "org.apache.spark"  %%  "spark-core"                          % sparkVersion,
    "org.apache.spark"  %%  "spark-sql"                           % sparkVersion,
    "org.apache.spark"  %%  "spark-hive"                          % sparkVersion,
    "com.typesafe.akka" %% "akka-slf4j"                           % akkaVersion,
    "org.apache.spark"  %% "spark-streaming"                      % sparkVersion
  )
}

请大家帮帮我

【问题讨论】:

  • 您在某处遗漏了一些东西。如果您所做的只是那样,那么您将不会收到此错误。你是从 spark-shell 运行的吗?你构建并提交了吗?你的 build.sbt 是什么样子的......这里缺少一些东西
  • 我修改了问题

标签: scala apache-spark


【解决方案1】:

遇到同样的问题,好像是this issue of the Janino compiler引起的。

该问题已关闭,根据change log,该修复程序应包含在 2017 年 3 月 22 日发布的版本 3.0.7 中,该版本已经是on Maven

我已经添加了一个明确的

libraryDependencies += "org.codehaus.janino" % "janino" % "3.0.7"

到我的build.sbt,到目前为止它似乎解决了问题。

【讨论】:

  • 我正在使用 java 并尝试添加此版本的依赖项,但我一直遇到相同的错误
【解决方案2】:

val rdd = sc.textFile("/data/logs/file.log") println(rdd.count)

更多使用链接

https://databricks.gitbooks.io/databricks-spark-reference-applications/logs_analyzer/chapter1/spark.html

【讨论】:

  • 我没有使用 dfatabricks 驱动程序,无论如何感谢您的回答
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 2017-01-11
  • 2016-05-05
  • 2010-12-05
相关资源
最近更新 更多