使用参数运行jar时出错

时间:2016-08-09 22:55:26

标签: java hadoop apache-spark jar executable-jar

我有一个与maven一起打包的spark应用程序。在运行时,我必须提供3个参数(3个文件的路径来创建RDD)。所以我使用spark-submit命令作为spark的行政网站指示:

./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
.. # other options
<application-jar> \
[application-arguments]

我的提交命令如下:

 \bin\spark-submit --class myapp.Main --master local[*] file:///C:\Users\pc\Desktop\eclipse\myapp\target\myapp-0.0.1-SNAPSHOT.jar ["C:\Users\pc\Desktop\pathToFile1.csv", "C:\Users\pc\Desktop\pathToFile2.csv", "C:\Users\pc\Desktop\pathToFile3.csv"]

我按照以下方式修改了我的Main类,以便在运行时获取路径:

String pathToFile1=args[0];
String pathToFile2=args[1];
String pathToFile3=args[2];

但是我收到一条错误消息,指出指定的路径不存在。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

@bradimus你是对的我不必使用[],我必须把它写成:

 \bin\spark-submit --class myapp.Main --master local[*] file:///C:\Users\pc\Desktop\eclipse\myapp\target\myapp-0.0.1-SNAPSHOT.jar C:\Users\pc\Desktop\pathToFile1.csv C:\Users\pc\Desktop\pathToFile2.csv C:\Users\pc\Desktop\pathToFile3.csv