有没有办法在 yarn 上获取 spark 作业 运行 的尝试次数
Is there a way to get the attempt number of a spark job running on yarn
我想知道是否有办法以编程方式在 yarn 上获取 spark 作业 运行 的尝试次数。
我已经尝试将 SparkListenerApplicationStart
与此侦听器一起使用,并在启动 spark-submit 时注册它
class Listner extends SparkListener{
var att = ""
override def onApplicationStart(applicationStart: SparkListenerApplicationStart): Unit = {
att = applicationStart.appAttemptId.getOrElse("")
println(s"--------------------------------------$att------------------------------------------------")
}
然而 att
总是空的。
我找到了问题的解决方案:
val yc = YarnClient.createYarnClient()
yc.init(spark.sparkContext.hadoopConfiguration)
yc.start()
val id = ApplicationId.fromString(spark.sparkContext.applicationId)
val attempts = yc.getApplicationAttempts(id)
我想知道是否有办法以编程方式在 yarn 上获取 spark 作业 运行 的尝试次数。
我已经尝试将 SparkListenerApplicationStart
与此侦听器一起使用,并在启动 spark-submit 时注册它
class Listner extends SparkListener{
var att = ""
override def onApplicationStart(applicationStart: SparkListenerApplicationStart): Unit = {
att = applicationStart.appAttemptId.getOrElse("")
println(s"--------------------------------------$att------------------------------------------------")
}
然而 att
总是空的。
我找到了问题的解决方案:
val yc = YarnClient.createYarnClient()
yc.init(spark.sparkContext.hadoopConfiguration)
yc.start()
val id = ApplicationId.fromString(spark.sparkContext.applicationId)
val attempts = yc.getApplicationAttempts(id)