【发布时间】:2015-05-04 06:43:59
【问题描述】:
我想忽略 map() 函数中的异常,例如:
rdd.map(_.toInt)
其中 rdd 是 RDD[String]。
但如果遇到非数字字符串,就会失败。
忽略任何异常并忽略该行的最简单方法是什么? (我不想用过滤器来处理异常,因为可能还有很多其他的异常......)
【问题讨论】:
-
不需要纯函数处理异常:先过滤。
-
我真的不认为过滤器是个好主意,因为我现在无法枚举所有可能的错误......所以运行的程序可能会在某一天突然失败......
-
一点也不。过滤器只接受在解析时不会抛出异常的值:可解析为整数的字符串,这是明确定义的。
toInt函数可以“抛出随机错误”,那么你就处于另一个泡菜中(和另一个问题)。
标签: scala apache-spark