我尝试"运行" spark作业宽度我的java应用程序,搜索,我发现以下两个方法:ClientsArguments
和SparkLauncher
.
SparkLauncher只是spark-submit
的包装库,它将您的SparkLauncher
代码转换为spark-submit
脚本,然后触发作业。
机制与spark-submit
脚本相同,如果你查看SparkLauncher的源代码,它使用ProcessBuilder
来构建shell。
如果要使用SparkLauncher
,则需要指定$JAVA_HOME
、$SPRAK_HOME
等必要参数。SparkLauncher
有一些限制,SparkLauncher
运行的机器必须有$JAVA_HOME
和$SPARK_HOME
(Spark库),用于SparkLauncher
定位脚本和相关依赖项。对于一些云环境,如CloudFoundry等,这是不可能的
您可以假设SparkLauncher
等于spark-submit
脚本,您可以选择客户端或主端,本地或yarn模式。
ClientsArguments
是YARN脚本的一个类,它只适用于YARN模式