0

我想知道映射器任务(或减速器任务)中未处理的异常是否会使任务失败,或者只有时间的特定输入对会被忽略?我猜是前者,但不太确定。

4

2 回答 2

2

这取决于错误。无论哪种方式,我总是强调用 try-catch 块包装 map 和 reduce 逻辑。出现错误时,我会增加一个名称源自异常类名称的计数器。这不仅可以保护 hadoop 的其余部分免受逻辑错误的影响,而且可以让您仅通过查看日志就知道出了多少问题。

于 2012-07-09T19:32:19.180 回答
1

如果异常没有重复发生(即重试将成功),那么它将使任务失败但任务将被重试(或并行运行的推测执行可能会继续)。如果异常总是发生(例如输入数据错误),那么重试将继续失败,最终整个作业将失败。

于 2012-07-09T19:32:02.557 回答