java - org.spark_project.guava.util.concurrent.ExecutionError : NoClassdefFoundError Unchecked CompileException

标签 java apache-spark-sql

当执行到达此示例代码中的 ~.RDD() 调用时,出现此异常:

enter code here
JavaRDD<String,String> row = sparkSession.read()
                                   .textFile("~~~")
                                   .javaRDD()   <--------- (Execution Error)
                                 .map(some Function);

根本原因:

org.spark_project.guava.util.concurrent.ExecutionError: NoClassdefFoundError org/codehaus/commons/compiler/UncheckedCompileException

我的 pom.xml 中有 Spark 的所有依赖项,我尝试了 2.10 和 2.11 多个版本,但我得到了相同的异常,请帮助

最佳答案

解决办法是这样的:

`<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-sql_2.11</artifactId>
  <version>2.1.1</version>
  <exclusions>
   <exclusion>
     <groupId>org.codehaus.janino</groupId>
     <artifactId>janino</artifactId>
   </exclusion>
   <exclusion>
     <groupId>org.codehaus.janino</groupId>
     <artifactId>commons-compiler</artifactId>
   </exclusion>
  </exclusions>
 </depenedency>
 <dependency>
   <groupId>org.codehaus.janino</groupId>
   <artifactId>commons-compiler</artifactId>
   <version>3.07</version>
 </dependency>
 <dependency>
   <groupId>org.codehaus.janino</groupId>
   <artifactId>janino</artifactId>
   <version>3.07</version>
 </dependency>`

但是,不要使用 dependencyManagement 来管理项目中的 janino,因为它不起作用。解决方案是使用 EXLUSIONS => 像这样 janino-2.x.jar 不会通过这种方式包含在内。

关于java - org.spark_project.guava.util.concurrent.ExecutionError : NoClassdefFoundError Unchecked CompileException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44331072/

相关文章:

java - 从具有时间约束的程序执行程序 (Java)

java - 调试 Java 程序 - 字节转换器

java - 无法在android 9中获取pdf路径

python - PySpark:如何根据其他行值的值更改行+列的值

python - 使用 pyspark 将结构数组转换为列 - 不分解数组

java - AutoCloseable.close()方法是否违反了Java的向后兼容性规则

java - Tomcat 6、 hibernate 、oracle 11 登录被拒绝

scala - spark 数据框将行值转换为列名

python - Pyspark DataFrame - 如何使用变量进行连接?

scala - 如何将dataframe中的空值填充到uuid?