运行带有参数的jar时出错

9avjhtql  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(456)

我有一个用maven打包的spark应用程序。在运行时,我必须给出3个参数(创建RDD的3个文件的路径)。因此,我使用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]

我的submit命令如下所示:

\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"]

为了在运行时获取路径,我对主类进行了如下修改:

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

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

kcrjzv8t

kcrjzv8t1#

@布拉迪默斯,你说得对,我不必使用[],我必须写为:

\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

相关问题