Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在cmd上提交spark申请_Java_Eclipse_Maven_Apache Spark_Cmd - Fatal编程技术网

Java 如何在cmd上提交spark申请

Java 如何在cmd上提交spark申请,java,eclipse,maven,apache-spark,cmd,Java,Eclipse,Maven,Apache Spark,Cmd,我有一个Spark应用程序,我最初是使用maven(在windows上)创建的。我将我的maven项目转换为Eclipse项目,现在我正在通过Eclipse进行开发。 我能够通过Eclipse运行应用程序来利用和验证这一点 现在,我正试图通过命令行提交我的申请。我使用spark submit命令如下: bin\spark-submit \ --class C:\Users\pc\Desktop\eclipse\myapp\src\main\java\myapp\Main.java \

我有一个Spark应用程序,我最初是使用maven(在windows上)创建的。我将我的maven项目转换为Eclipse项目,现在我正在通过Eclipse进行开发。
我能够通过Eclipse运行应用程序来利用和验证这一点

现在,我正试图通过命令行提交我的申请。我使用spark submit命令如下:

bin\spark-submit \  
  --class C:\Users\pc\Desktop\eclipse\myapp\src\main\java\myapp\Main.java \  
  --master local[8] \
  C:\Users\pc\Desktop\eclipse\myjar.jar
当我提交我的jar时,我得到一个错误,说不能从jar文件加载主类

我做错了什么?
它是我的主类(
--class C:\Users\pc\Desktop\eclipse\myapp\src\main\java\myapp\main.java
)的路径吗?

--您将类(如packagename.ClassName)放入的类 所以我猜是myapp.Main

  ./bin/spark-submit --class myapp.Main --master local[8] C:\Users\pc\Desktop\eclipse\myjar.jar
--类:应用程序的入口点(例如org.apache.spark.examples.SparkPi)

这不是本地硬盘上文件的路径。考虑一个分布式计算机集群。它们并非都可以访问您给定的文件路径

看起来您应该使用
myapp.Main

JAR文件也是如此

application jar:绑定jar的路径,包括应用程序和所有依赖项。URL必须在集群内全局可见,例如,所有节点上都存在的hdfs://路径或file://路径


我使用的是非必需的sleshes,这就是为什么我不能在windows上正确部署它,这是提交它的正确方式

bin\spark-submit --class myapp.Main -- master local[*]       file:///C:\Users\pc\Desktop\eclipse\myjar.jar

我的罐子的路径应该是什么样子?你能给我举个例子吗?如果你有一个独立的集群,那么你拥有的应该是好的。如果您有一个分布式Linux机箱集群,那么假设您的JAR位于每台机器上的
/tmp/myapp.JAR
,那么您会说
file:///tmp/myapp.jar
,如果您有一些分布式服务器,如HDFS或S3,将
file://
替换为
hdfs://
s3://
并指向该文件的路径。现在我使用本地模式只是为了测试,但稍后我将与hdfs一起使用,我将尝试此操作并随时通知您。谢谢您您使用了jar文件的什么路径?这是路径C:\Users\pc\Desktop\eclipse\myjar.jar如何构建jar?显示项目文件夹和maven或sbt文件的完整日志和结构。这是我项目的结构:myapp->src->main->java->myapp->main包myapp contais是main类,我使用maven,但遇到了一个异常(这里有一个链接了解更多详细信息),所以我手动创建了jar(导出->java->Runnable jar文件)