我试着"跑步" spark job我的java应用程序,搜索,我发现了以下两种方法:
ClientsArguments
和SparkLauncher
。
有人可以向我解释两者之间的区别吗?启动和提交作业/应用程序Spark之间的区别? 谢谢。
答案 0 :(得分:1)
SparkLauncher只是spark-submit
的包装库,它会将您的SparkLauncher
代码转换为spark-submit
脚本,然后触发作业。
该机制与spark-submit
脚本相同,如果查看SparkLauncher的源代码,它会使用ProcessBuilder
来构造shell。
如果您想使用SparkLauncher
,则需要指定$JAVA_HOME
,$SPRAK_HOME
和其他必要参数。 SparkLauncher
有一些限制,SparkLauncher
运行的计算机必须有$JAVA_HOME
和$SPARK_HOME
(Spark库),用于SparkLauncher
查找< strong>脚本和相关的依赖项。对于像CloudFoundry等一些云环境来说,这是不可能的。
您可以假设SparkLauncher
等于spark-submit
脚本,您可以选择客户端或主人,本地或纱线模式。
ClientsArguments
是YARN脚本的一个类,它只适用于纱线模式。