2016-10-31 128 views
2

该应用程序是复杂生态系统的一部分,我们使用Yarn Rest Api来跟踪所有作业的状态。Mark Spark Job在纱线UI中失败

现在对于某些特定的业务场景,我们需要将Spark Job标记为失败,但由于Spark工作中的错误/异常或System.exit(123)作业无法提供,因此我陷入了困境被标记为纱线成品,最终状态成功。

使用spark-submit使用jar激发火花作业。

object Execute { 
def main(args: Array[String]) { 
    val sc = new SparkContext(sparkConf) 
    if(businessException needs to be raised) 
     //What to do??? 
} 
} 

事情我已经试过在火花的工作:

  • 抛出新的错误( “什么”)
  • 抛出新的异常( “什么”)
  • System.exit(123)
  • sys.exit(123)

希望有人能告诉我怎么标记在纱线UI中失败。

回答

0

没关系。 Yarn的火花应用报告不稳定,从Jira上的多个错误中可以看出,这表明Yarn有时会将成功的火花作业标记为失败,反之亦然。

我结束了自己的数据库表,以跟踪结果最终状态(错误,成功等),这是从火花作业更新,取决于条件。