如何在不使用 spark-submit 的情况下从 java 程序中将 spark 作业提交到独立的 spark 集群?
How to submit spark job from within java program to standalone spark cluster without using spark-submit?
我正在使用 spark 执行一些计算,但希望它从 java 提交 application.It 使用 spark-submit script.Has 提交时可以正常使用 script.Has 有人试过这样做吗?
谢谢。
只要您启动了 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);
我能够 运行 从使用 JavaSparkContext 的 IntelliJ 中进行 junit 测试,而无需使用 spark-submit 脚本。不过,我 运行 在对 DataFrames 执行操作时遇到了问题(不确定这是否相关)。
不要忘记将包含您的代码的胖 JAR 添加到上下文中。
val conf = new SparkConf()
.setMaster(...)
.setAppName(...)
.setJars("/path/to/code.jar")
val sc = new SparkContext(conf)
我正在使用 spark 执行一些计算,但希望它从 java 提交 application.It 使用 spark-submit script.Has 提交时可以正常使用 script.Has 有人试过这样做吗?
谢谢。
只要您启动了 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);
我能够 运行 从使用 JavaSparkContext 的 IntelliJ 中进行 junit 测试,而无需使用 spark-submit 脚本。不过,我 运行 在对 DataFrames 执行操作时遇到了问题(不确定这是否相关)。
不要忘记将包含您的代码的胖 JAR 添加到上下文中。
val conf = new SparkConf()
.setMaster(...)
.setAppName(...)
.setJars("/path/to/code.jar")
val sc = new SparkContext(conf)