我尝试在Java应用程序中“运行” Spark作业宽度,进行搜索,发现了以下两种方法:
ClientsArgumentsSparkLauncher

有人可以向我解释两者之间的区别吗?启动和提交作业/应用程序之间的区别Spark?
谢谢。

最佳答案

SparkLauncher只是spark-submit的包装库,它将SparkLauncher代码转换为spark-submit脚本,然后触发作业。

该机制与spark-submit脚本相同,如果您查看SparkLauncher的源代码,它将使用ProcessBuilder构造外壳。

如果要使用SparkLauncher,则需要指定$JAVA_HOME$SPRAK_HOME和其他基本参数。 SparkLauncher有一些限制,运行SparkLauncher的计算机必须具有$JAVA_HOME$SPARK_HOME(Spark库),用于SparkLauncher定位脚本和相关的依赖项。对于某些云环境(如CloudFoundry等)来说,这是不可能的。

您可以假定SparkLauncher等于spark-submit脚本,可以选择客户端模式或主模式,本地模式或yarn模式。

ClientsArguments是YARN脚本的类,仅适用于yarn-mode。

10-06 13:38