首页 > 解决方案 > 将多个系统属性传递给 spark-submit

问题描述

我正在尝试在 Windows 中使用 spark-submit 运行 Spark 作业。我正在从命令提示符执行以下 spark-submit 命令。

spark-submit --driver-class-path %FILE_NAME%\config --files %FILE_NAME%\config\app.conf,%FILE_NAME%\config\log4j.properties --conf "spark.driver.extraJavaOptions=-Dcassandra.用户名=cassandra -Dcassandra.password=cassandra@123" --class com.sapient.main.MainApp %FILE_NAME%\lib\test.jar

在这里,我尝试使用spark.driver.extraJavaOptions一个 iscassandra.username和另一个 is传递两个系统属性,cassandra.password但是在执行命令时,出现以下错误

The input line is too long.

但是,如果我只将一个系统属性传递给和不传递如下extraJavaOptions双引号,那么一切正常。""

 --conf spark.driver.extraJavaOptions=-Dcassandra.username=cassandra

但我需要传递 2 个系统属性。我该如何解决这个问题?也让我知道是否有另一种方法可以将系统属性传递给 spark 可以避免这个问题。

注意:它在linux环境下运行。

标签: apache-sparkspark-submitsystem-properties

解决方案


您可以使用 conf 文件并将其传递给 spark-submit

或者

像下面一样通过它

--conf spark.driver.extraJavaOptions=-Dcassandra.username=cassandra\
--conf spark.rpc.message.maxSize=1024\
--conf spark.network,timeout=1000\

推荐阅读