使用 Map Reduce 代码对失败记录进行异常处理 ...需要帮助

Posted

技术标签:

【中文标题】使用 Map Reduce 代码对失败记录进行异常处理 ...需要帮助【英文标题】:Exception Handling for failed records using Map Reduce code ...Help Required 【发布时间】:2015-11-16 06:22:24 【问题描述】:

如何对失败的记录进行异常处理,并在以后使用 map reduce 代码重新处理失败的记录(必填)....感谢您的帮助,谢谢。

【问题讨论】:

【参考方案1】:

如果您的 map 函数中有异常处理,那么您可以为这些值添加一个指定的键(例如,如果您有字符串作为键,则为“错误解析”)并在您的减速器中将它们写入日志以供将来调查。

【讨论】:

【参考方案2】:

如果数据中的某些内容不符合预期并导致处理失败,则只需将该记录写入日志中即可标记该记录以进行重新处理,参见示例

 try
        //Business logic goes here
        //write output of mapper if everything is as expected
    catch(Ex e)
        //If something is not right control comes here, then dont break the execution flow
        //simply write the current record for re-validation for ex. re-processing.log something like this
    

然后您可以稍后重新访问此文件。

【讨论】:

是的,我有时会采用这种方法。很有用

以上是关于使用 Map Reduce 代码对失败记录进行异常处理 ...需要帮助的主要内容,如果未能解决你的问题,请参考以下文章

map和reduce函数的使用

在使用 java 运行 Hadoop map reduce 作业时抛出空指针异常

python的map和reduce和Hadoop的MapReduce有啥关系

map filter reduce

Python 之内置函数:filter、map、reduce、zip、enumerate

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别