【问题标题】:Why AWS EMR step is not failed when exception from Scala Spark app thrown当 Scala Spark 应用程序抛出异常时,为什么 AWS EMR 步骤不会失败
【发布时间】:2018-04-03 14:21:44
【问题描述】:

我在 main 方法中有 nect 代码:

 try {
      tappSparkEngine.process();
    }catch{
      case e: Exception => LOG.error(e.toString)
              throw e
    }

抛出异常时有一个条件,并记录在日志中:

2018-04-02 03:05:04 错误 TappSparkApp$:55 - java.lang.Exception: 在预期的时候错过了午夜积分

这是日志中的最后一条记录。 但是 EMR 作业步骤不是失败状态,而是已完成。为什么这样?以及如何让它失败?

【问题讨论】:

    标签: scala amazon-web-services apache-spark amazon-emr


    【解决方案1】:
    1. 从您的程序中返回一个非零值。

      例如:在 Java 中

      system.exit(-1)

      在下面的链接中,程序员在 python 中做同样的事情
      https://aws.amazon.com/blogs/big-data/submitting-user-applications-with-spark-submit/

    2. 尝试将异常包装在 org.apache.spark.SparkException 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多