spark Yarn模式如何从spark-submit获取applicationId

spark Yarn mode how to get applicationId from spark-submit

当我使用带有 master yarn 和部署模式集群的 spark-submit 提交 spark 作业时,它没有 print/return 任何 applicationId,一旦作业完成,我必须手动检查 MapReduce jobHistory 或 spark HistoryServer 以获取工作详情。
我的集群被许多用户使用,需要很多时间才能在 jobHistory/HistoryServer.

中找到我的工作

有什么方法可以将 spark-submit 配置为 return applicationId?

注意:我发现了许多类似的问题,但他们的解决方案使用 sparkcontext.applicationId 在驱动程序代码中检索 applicationId,在 master yarn and deploy-mode cluster 的情况下,驱动程序还 运行 作为 mapreduce 作业的一部分,打印到远程主机日志的任何日志或系统输出。

以下是我用来实现此目的的方法:

  1. 将应用程序 ID 保存到 HDFS 文件。 (@zhangtong 在评论中建议)
  2. 从驱动程序发送带有 applictionId 的电子邮件警报。