我正在运行用Java编写的Spark程序。我正在使用示例wordcount示例。 我创建了一个jar文件但是,当我提交spark工作时,它会抛出一个错误。
$ spark-submit --class WordCount --master local \ home/cloudera/workspace/sparksample/target/sparksample-0.0.1-SNAPSHOT.jar
我收到以下错误
java.lang.ClassNotFoundException: wordCount
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.spark.util.Utils$.classForName(Utils.scala:175)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:689)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
被修改 我也在添加我的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>com.igi.sparksample</groupId>
<artifactId>sparksample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies>
</project>
答案 0 :(得分:2)
尝试了这么多组合并做了一点R&amp; D后我解决了我的问题。 问题出在我的spark submit命令中,我将其更改为此
spark-submit --class com.xxx.sparksample.WordCount --master local /home/cloudera/workspace/sparksample/target/sparksample-0.0.1-SNAPSHOT.jar
并且有效。
答案 1 :(得分:0)
它无法找到WordCount
类。您可能需要包含该类所在的包,因此您拥有完整的类路径,即:
--class <PACKAGE>.WordCount
答案 2 :(得分:0)
您发布的错误并未显示Spark的任何问题。
但是,您的程序中必须输入拼写错误。 Java抛出ClassNotFoundException
寻找wordCount
,它最有可能是WordCount
,大写字母为W. {/ p>
请检查班级名称和进口名称。
答案 3 :(得分:0)
确保传递给spark-submit
的类名(wordcount或WordCount或其他......)与您定义的完全相似。
确保包装正确无误。
要验证,请打开/解压缩jar并查看类名和包层次结构。