首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark中有没有类似的twitter.scalding.addTrap接口来处理异常

Spark中有没有类似的twitter.scalding.addTrap接口来处理异常
EN

Stack Overflow用户
提问于 2017-07-01 06:39:32
回答 1查看 67关注 0票数 0

我正在将一个项目从hadoop移植到Spark 2.1.0。以前,它使用twitter.scalding.addTrap来处理异常,比如:https://github.com/scalding-io/ProgrammingWithScalding/blob/master/chapter3/src/main/scala/addTrap.scala

对于Spark,我使用sc.textFile(InputPath)读取输入,但我不知道如何执行前面的异常处理函数。

EN

回答 1

Stack Overflow用户

发布于 2017-07-01 22:47:51

您可以使用Try

代码语言:javascript
复制
import scala.io.StdIn
import scala.util.{Try, Success, Failure}

def divide: Try[Int] = {
    val dividend = Try(StdIn.readLine("Enter an Int that you'd like to divide:\n").toInt)
    val divisor = Try(StdIn.readLine("Enter an Int that you'd like to divide by:\n").toInt)
    val problem = dividend.flatMap(x => divisor.map(y => x/y))
    problem match {
        case Success(v) =>
            println("Result of " + dividend.get + "/"+ divisor.get +" is: " + v)
            Success(v)
        case Failure(e) =>
            println("You must've divided by zero or entered something that's not an Int. Try again!")
            println("Info from the exception: " + e.getMessage)
            divide
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44855658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档