![](/img/trans.png)
[英]java.lang.NoClassDefFoundError spark-submit using class from other project
[英]java.lang.NoClassDefFoundError for spark-submit
我使用Maven为我的Apache Spark Scala项目构建了* .jar文件。 当我尝试执行主类时,在代码的某些行中,类org.apache.spark.ml.recommendation.ALS
Exception in thread "main" java.lang.NoClassDefFoundError
提供了错误Exception in thread "main" java.lang.NoClassDefFoundError
。
我按以下方式运行spark-submit:
sudo -u hdfs /usr/bin/spark-submit --class
org.apache.spark.examples.ml.MyTest spark-examples-*.jar --rank 10 --path
/home/ubuntu/data
看起来只有找不到org.apache.spark.ml.recommendation.ALS
。 我在该类中有以下导入语句:
package org.apache.spark.examples.ml
import java.util.Date
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.examples.mllib.AbstractParams
import org.apache.spark.ml.recommendation.ALS
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{Row, SQLContext}
import scopt.OptionParser
如何解决这个问题?
更新1:
我在pom.xml
添加了maven-assebly
插件,还在文件夹resources
添加了assembly.xml
。 然后,我成功制作了mvn package
,但同样是同样的问题。
更新2:
jar -tvf spark-examples-1.5.3-SNAPSHOT-hadoop2.2.0.jar | grep "ALS"
2678 Mon May 23 13:11:44 CEST 2016 org/apache/spark/examples/ml/recommendation/MyFunc$ALSParams.class
首先找出失败的原因。
1)缺课吗?
2)或者是初始化问题。
要查找类是否可用,请运行命令jar -tvf <.jar> | grep "class name"
jar -tvf <.jar> | grep "class name"
,您可以找出类文件是否存在或其初始化问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.