如何在不使用spark-submit的情况下将java程序中的spark作业提交到独立的spark集群?

时间:2015-04-02 17:30:44

标签: java apache-spark

我正在使用spark来执行一些计算,但希望它从java应用程序提交。当使用spark-submit脚本提交时,它正常工作。有人试图这样做吗?

感谢。

2 个答案:

答案 0 :(得分:5)

不要忘记将包含代码的胖JAR添加到上下文中。

val conf = new SparkConf()
   .setMaster(...)
   .setAppName(...)
   .setJars("/path/to/code.jar")
val sc = new SparkContext(conf)

答案 1 :(得分:2)

只要你有一个master和可用的worker已经启动,你应该能够在java应用程序中拥有以下内容:

String master = "spark://IP:7077"; //set IP address to that of your master
String appName = "Name of your Application Here";
SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);;
JavaSparkContext sc = new JavaSparkContext(conf);

我能够在IntelliJ中运行使用JavaSparkContext的junit测试,而无需使用spark-submit脚本。我在对DataFrame执行操作时遇到了问题(不确定这是否相关)。