只要在数据帧上调用第一个操作,在Java中运行Spark SQL(v2.1.0_2.11)程序会立即失败并出现以下异常:
java.lang.ClassNotFoundException: org.codehaus.commons.compiler.UncheckedCompileException
Run Code Online (Sandbox Code Playgroud)
我在Eclipse之外的spark-submit环境中运行它.我使用以下Spark SQL Maven依赖项:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Dan*_*zan 29
罪魁祸首是图书馆commons-compiler.这是冲突:
要解决此问题,请将以下内容添加到pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>commons-compiler</artifactId>
<version>2.7.8</version>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
Mak*_*sym 14
当更新spark-2.2.1到spark-2.3.0时,我遇到了类似的问题.
在我的情况下,我不得不修复commons-compiler和janino
Spark 2.3解决方案:
<dependencyManagement>
<dependencies>
<!--Spark java.lang.NoClassDefFoundError: org/codehaus/janino/InternalCompilerException-->
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>commons-compiler</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>commons-compiler</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
小智 5
我的实现需求是Spring-boot + Scala + Spark(2.4.5)
对于此问题,解决方案是排除“spark-sql_2.12”版本 2.4.5 附带的artifactID“janino”和“commons-compiler”。
原因是artifactID“janino”和“commons-compiler”的更新版本为3.1.2,它随“spark-sql_2.12”版本2.4.5一起提供。
排除后,为artifactID“janino”和“commons-compiler”添加版本3.0.8作为单独的依赖项。
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>2.4.5</version>
<exclusions>
<exclusion>
<artifactId>janino</artifactId>
<groupId>org.codehaus.janino</groupId>
</exclusion>
<exclusion>
<artifactId>commons-compiler</artifactId>
<groupId>org.codehaus.janino</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>janino</artifactId>
<groupId>org.codehaus.janino</groupId>
<version>3.0.8</version>
</dependency>
<dependency>
<artifactId>commons-compiler</artifactId>
<groupId>org.codehaus.janino</groupId>
<version>3.0.8</version>
</dependency>
...............
...............
...............
...............
...............
</dependencies>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7768 次 |
| 最近记录: |