gpt4 book ai didi

java - 在 Windows 上的 spark-submit 中将多个 -D 参数传递给 driver-java-options

转载 作者:行者123 更新时间:2023-11-30 10:28:30 25 4
gpt4 key购买 nike

我正在一台 Windows 机器上工作,试图在一个同事给我的 jar 文件上运行 spark-submit,他使用相同的命令在他的计算机上运行它没有遇到任何问题。命令看起来像这样:

spark-submit.cmd --driver-java-options "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -DMASTERNODE=local" --class=MYCLASS file:///path/myjar.jar

但是,当我运行它时,出现错误:

The filename, directory name, or volume label syntax is incorrect.

如果我只传递第一个参数,即:

spark-submit.cmd --driver-java-options "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" --class=MYCLASS file:///path/myjar.jar

无论我是否使用引号,我都没有收到任何错误。看起来该命令已成功运行。但是,当我尝试将两个参数传递给 te 命令时,如下所示:

cmd /C spark-submit.cmd --driver-java-options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5008 -DMASTERNODE=local --class=taka.pipelines.AnomalyTxTrainingPipeline file:///cygdrive/c/Users/paul/stream/build/libs/taka-stream-0.1.0-dev_pl-SNAPSHOT-all.jar

我得到错误:

Error: Unrecognized option: -DMASTERNODE=local

无论我是使用 cmd 函数从 cygwin 执行命令,还是直接从 Windows 命令提示符执行命令,都会发生这种情况。

有人帮帮我吗?

-保罗

最佳答案

这是spark windows命令脚本的一个bug,不能处理带引号的参数,把spark-submit.cmd改成如下:


cmd /V /E /C ""%~dp0spark-submit2.cmd" %*"

spark中包含的所有其他windows命令脚本


cmd /V /E /C "<command>" %*

遇到同样的问题,按照上面类似的方法解决。

关于java - 在 Windows 上的 spark-submit 中将多个 -D 参数传递给 driver-java-options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com