繁体   English   中英

java.lang.NoClassDefFoundError进行火花提交

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM