scala - 如何获取Scala中部署到YARN的Spark应用程序的applicationId?

标签 scala apache-spark yarn

我正在使用以下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/

相关文章:

Scala:for循环直到条件

scala - 程序执行期间Apache-Spark出现超时异常

hadoop - Hadoop:HDFS群集空间不足,即使有可用空间

apache-spark - 为什么Spark作业失败并显示“退出代码:52”

eclipse - Scala Eclipse插件的当前状态是什么?

scala - 在 Scala 2.10 中使用带有宏的附件

scala - java.lang.String 不是字符串模式的有效外部类型

scala - 使用 Spark 并行缓存和查询数据集

apache-spark - 如何在 foreachBatch 中使用临时表?

hadoop - 在多节点hadoop集群上的哪里安装Java?