java - 使用参数运行我的 jar 时出错

标签 java hadoop apache-spark jar executable-jar

我有一个用 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]

我的提交命令看起来像:

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

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

最佳答案

@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

关于java - 使用参数运行我的 jar 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38861705/

相关文章:

java - MigLayout - 服务器浏览器

java - 如何在 Java 中将 UTF-8 转换为 US-Ascii

java - 在 hadoop 安装期间尝试执行命令 "hdfs: command not found"时出现 "hdfs namenode -format"

hadoop - Spark yarn-cluster 模式 - 读取通过 --files 传递的文件

hadoop - 如何在 pig 中插入虚拟 map 值

scala - 如何在 Spark 提交中将 s3a 与 Apache spark 2.2(hadoop 2.8) 一起使用?

java - 查找已安装的 JDBC 驱动程序

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure - Caused by: java.net.UnknownHostException: null: 未知错误

apache-spark - 如何在 sparkR 中绑定(bind)两个数据框列?

scala - 使用scala和Spark将RDD中的每条记录转换为Array[Map]