火花提交引发错误java.lang.ClassNotFoundException:scala.runtime.java8.JFunction2 $ mcIII $ sp [英] spark submit throws an error java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp
问题描述
我写了一个用于字数统计的代码,但是当我尝试使用以下命令在Windows的CMD中运行它时,会抛出异常.
I wrote a code for word count but when I tried running it from CMD in windows using below command it throws an exception.
spark-submit --class com.sample.WordCount --master local file:///E:/WordCountSample/target/WordCountSample-0.0.1-SNAPSHOT.jar file:///C:/Users/siddh/OneDrive/Desktop/sample.txt
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SparkSampleInScala</groupId>
<artifactId>WordCountSample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>WordCountSample</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M1</version>
</plugin> </plugins> </build> -->
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>2.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.12.8</version>
</dependency>
</dependencies>
</project>
但是当我运行spark提交时,它抛出以下错误:
but when I ran spark submit it throws below error:
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
at com.sample.WordCount$.main(WordCount.scala:22)
at com.sample.WordCount.main(WordCount.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:849)
at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:167)
at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:195)
at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
... 14 more
Caused by: java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp
那么在这种情况下需要做些什么?我正在使用Windows中已经安装的spark 2.4.0
版本和scala 2.12.8 version
.
几天以来我一直陷入困境,请帮帮我.
在此先感谢:)
So what all needs to be done in this case?? I am using spark 2.4.0
version and scala 2.12.8 version
which is already installed on my windows.
Please help me since I am stuck in this since few days.
Thanks in advance :)
推荐答案
看起来像您在Scala 2.12中使用2.4.x.这可能是兼容性问题. Spark文档参考:- Spark可在Java 8 +,Python 2.7 +/3.4 +和R 3.1+上运行.对于Scala API,Spark 2.4.0使用Scala 2.11.您将需要使用兼容的Scala版本(2.11.x).
looks like you are using 2.4.x with Scala 2.12. It might be compatibility issue. Spark documentation reference:- Spark runs on Java 8+, Python 2.7+/3.4+ and R 3.1+. For the Scala API, Spark 2.4.0 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x).
这篇关于火花提交引发错误java.lang.ClassNotFoundException:scala.runtime.java8.JFunction2 $ mcIII $ sp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!