在 Yarn 中将 Spark 作业标记为失败 UI
Mark Spark Job as Failed in Yarn UI
该应用程序是复杂生态系统的一部分,我们使用 Yarn Rest 跟踪所有作业的状态 Api。
现在对于某些特定的业务场景,我们需要将 Spark Job 标记为失败,但我遇到了一个陷阱,因为我在 spark job Error/Exception 或 [=35= 中提出什么并不重要](123) 作业在 Yarn 中标记为已完成,最终状态为成功。
使用 spark-submit 使用 jar 触发 spark 作业。
object Execute {
def main(args: Array[String]) {
val sc = new SparkContext(sparkConf)
if(businessException needs to be raised)
//What to do???
}
}
我在 spark 工作中尝试过的事情:
- 抛出新错误("Whatever")
- 抛出新异常("Whatever")
- System.exit(123)
- sys.exit(123)
希望有人能告诉我如何在 yarn 中将 spark 作业标记为失败 UI。
没关系。无论如何,Yarn 对 spark 应用程序的报告是 unstable,从 Jira 上的多个错误可以明显看出,这表明 Yarn 有时会将成功的 spark 作业标记为失败,反之亦然。
我最终创建了自己的数据库 table 以跟踪生成的最终状态(错误、成功等),它根据条件从 spark 作业更新。
该应用程序是复杂生态系统的一部分,我们使用 Yarn Rest 跟踪所有作业的状态 Api。
现在对于某些特定的业务场景,我们需要将 Spark Job 标记为失败,但我遇到了一个陷阱,因为我在 spark job Error/Exception 或 [=35= 中提出什么并不重要](123) 作业在 Yarn 中标记为已完成,最终状态为成功。
使用 spark-submit 使用 jar 触发 spark 作业。
object Execute {
def main(args: Array[String]) {
val sc = new SparkContext(sparkConf)
if(businessException needs to be raised)
//What to do???
}
}
我在 spark 工作中尝试过的事情:
- 抛出新错误("Whatever")
- 抛出新异常("Whatever")
- System.exit(123)
- sys.exit(123)
希望有人能告诉我如何在 yarn 中将 spark 作业标记为失败 UI。
没关系。无论如何,Yarn 对 spark 应用程序的报告是 unstable,从 Jira 上的多个错误可以明显看出,这表明 Yarn 有时会将成功的 spark 作业标记为失败,反之亦然。
我最终创建了自己的数据库 table 以跟踪生成的最终状态(错误、成功等),它根据条件从 spark 作业更新。