如何在 SparkLauncher 中设置驱动程序 java 选项

How to set driver java options in SparkLauncher

当使用 spark-submit 将 Spark 应用程序提交到 Yarn 时,我可以通过 --driver-java-options 将 java 选项传递给驱动程序,例如:

spark-submit --driver-java-options "-Dlog4j.configuration=file:///conf/log4j.properties" ...

通过 SparkLauncher 提交时如何实现同样的效果?特别是,有没有办法用 Spark 1.4 实现它?

不熟悉 SparkLauncher,但从代码来看,您似乎可以使用 setConf() 传递配置。在这里,如果你添加 属性 SparkLauncher.DRIVER_EXTRA_JAVA_OPTIONS 这应该具有相同的效果。

例如

Process spark = new SparkLauncher()
     .setAppResource("/my/app.jar")
     .setMainClass("my.spark.app.Main")
     .setMaster("local[*]")
     .setConf(SparkLauncher.DRIVER_EXTRA_JAVA_OPTIONS, "-Dmy.property=someval")
     .launch();