使用 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 代码对失败记录进行异常处理 ...需要帮助的主要内容,如果未能解决你的问题,请参考以下文章
在使用 java 运行 Hadoop map reduce 作业时抛出空指针异常
python的map和reduce和Hadoop的MapReduce有啥关系