我有一个与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];
但是我收到一条错误消息,指出指定的路径不存在。我在这里做错了什么?
答案 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