java - 使用 Java Spark - 错误 : Cannot load main class from JAR

标签 java apache-spark intellij-idea apache-spark-mllib spark-submit

我正在 Spark 中尝试一个简单的电影推荐机器学习程序。 Spark 版本:2.1.1 Java版本:java 8 Scala 版本:Scala 代码运行器版本 2.11.7 环境:Windows 7

运行这些命令来启动主从服务器

//start master
spark-class org.apache.spark.deploy.master.Master

//start worker
spark-class org.apache.spark.deploy.worker.Worker spark://valid ip:7077

我正在尝试一个非常简单的电影推荐代码:http://blogs.quovantis.com/recommendation-engine-using-apache-spark/

我已将代码更新为:

SparkConf conf = new SparkConf().setAppName("Collaborative Filtering Example").setMaster("spark://valid ip:7077");
conf.setJars(new String[] {"C:\\Spark2.1.1\\spark-2.1.1-bin-hadoop2.7\\jars\\spark-mllib_2.11-2.1.1.jar"});

我无法通过 intelliJ 运行它 运行 mvn clean install 并将 jar 复制到文件夹不起作用。 我用来运行的命令:

bin\spark-submit --verbose –-jars jars\spark-mllib_2.11-2.1.1.jar –-class “com.abc.enterprise.RecommendationEngine” –-master spark://valid ip:7077 C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\spark-mllib-example\spark-poc-1.0-SNAPSHOT.jar C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\spark-mllib-example\ratings.csv C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\spark-mllib-example\movies.csv 10

我看到的错误是:

C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7>bin\spark-submit --verbose --class "com.sandc.enterprise.RecommendationEngine" --master spark://10.64.98.101:7077 C:\Spark2.1.1\spark-2.1.1-
bin-hadoop2.7\spark-mllib-example\spark-poc-1.0-SNAPSHOT.jar C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\spark-mllib-example\ratings.csv C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\spark-m
llib-example\movies.csv 10
Using properties file: C:\Spark2.1.1\spark-2.1.1-bin-hadoop2.7\bin\..\conf\spark-defaults.conf
Adding default property: spark.serializer=org.apache.spark.serializer.KryoSerializer
Adding default property: spark.executor.extraJavaOptions=-XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
Adding default property: spark.eventLog.enabled=true
Adding default property: spark.driver.memory=5g
Adding default property: spark.master=spark://valid ip:7077
Error: Cannot load main class from JAR file:/C:/Spark2.1.1/spark-2.1.1-bin-hadoop2.7/û-class
Run with --help for usage help or --verbose for debug output

如果我给出 --jar 命令,它会给出错误:

Error: Cannot load main class from JAR file:/C:/Spark2.1.1/spark-2.1.1-bin-hadoop2.7/û-jars

我有什么想法可以将这份工作提交给 Spark?

最佳答案

你的 Jar 构建正确吗? 另外,您不需要为 --class 选项值添加双引号。

关于java - 使用 Java Spark - 错误 : Cannot load main class from JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44707173/

相关文章:

java - 如何在 Play 框架 1.3.x 中以编程方式设置事务隔离级别?

java - 如何对每个分区中元素数量不同的两个 RDD 执行类似 zip 的操作?

java - 如何调试 Microsoft SQL Server 中从单独的 java 程序调用的存储过程?

intellij-idea - Intellij "reformat code"命令不遵循更漂亮的规则

java - 无法使用 twilio API

java - C/C++ 相当于 Java 的 doubleToRawLongBits()

java - Fedora 25 - 拒绝识别 Java JDK,$JAVA_HOME 似乎是正确的

java - jQuery Mobile 无法在 WebView 中工作

scala - 如何从 UDF 创建自定义 Transformer?

r - 如何使用 ft_elementwise_product