我正在使用以下Scala代码(作为自定义spark-submit
包装器)将Spark应用程序提交到YARN集群:
val result = Seq(spark_submit_script_here).!!
提交时,我所拥有的只是
spark-submit
和Spark应用程序的jar(无SparkContext)。我想从applicationId
捕获result
,但是它是空的。我可以在命令行输出中看到applicationId和其余的Yarn消息:
INFO yarn.Client: Application report for application_1450268755662_0110
如何在代码中读取它并获取applicationId?
最佳答案
如Spark issue 5439中所述,您可以使用SparkContext.applicationId
或解析stderr输出。现在,当您使用自己的脚本/对象包装spark-submit命令时,我会说您需要阅读stderr并获取应用程序ID。
关于scala - 如何获取Scala中部署到YARN的Spark应用程序的applicationId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34588192/