我想知道是否有一种方法可以以编程方式获取在 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)
关于apache-spark - 有没有办法获得在 yarn 上运行的 Spark 作业的尝试次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70497215/