Spark:如何在代码上设置部署模式?

时间:2017-06-15 02:37:48

标签: apache-spark

我知道可以在spark-submit脚本中设置集群模式。但是我希望通过代码或可执行选项来设置应用程序,例如java -Dspark.submit.deploymode = cluster ~~。

我想在集群模式下运行我的spark应用程序。

1 个答案:

答案 0 :(得分:0)

如果您不想使用spark-submit命令,并且想要使用自己的Java代码启动Spark作业,则需要使用Spark Java API,主要是org.apache.spark.launcher包: Spark 1.6 Java API Docs

以下代码取自链接并略有修改。

import org.apache.spark.launcher.SparkAppHandle;
import org.apache.spark.launcher.SparkLauncher;

public class MyLauncher {
 public static void main(String[] args) throws Exception {
   SparkAppHandle handle = new SparkLauncher()
     .setAppResource("/my/app.jar")
     .setMainClass("my.spark.app.Main")
     .setMaster("XXX") // Master URL based on doc in [2]
     .setDeployMode("cluster")
     .setConf(SparkLauncher.DRIVER_MEMORY, "2g")
     .startApplication();
   // Use handle API to monitor / control application.
 }
}