【发布时间】:2018-02-15 02:08:50
【问题描述】:
我无法在 Apache Spark 中捕获自定义异常。
当我在这样的 foreach 循环中对数据集进行验证时
ds.foreach(
entry=> {
validate(entry)
})
当条目无效时,验证函数会抛出自定义异常。
但是在 catch 块中,我无法捕捉到我的自定义异常,只有一个 SparkException 被抛出并且可以被捕捉到:
case customException : CustomException =>
//is never catched
case exception : SparkException =>
//can be catched
我该如何处理?我需要捕获所有由 validate 方法抛出的不同类型的异常。一种方法是读取包含原始异常的 SparkException 消息,但这可能不是一个好的设计。
有什么想法吗?
【问题讨论】: