我正在使用hadoop MapReduce处理大量数据.问题是,ocassionaly,一个损坏的文件导致Map任务抛出java堆空间错误或类似的东西.
如果可能的话,如果可能的话,放弃任何地图任务正在做的事情,杀死它,然后继续工作将是很好的,不要介意丢失的数据.我不希望整个M/R工作因此而失败.
这有可能在hadoop中如何?
您可以修改mapreduce.max.map.failures.percent
参数.默认值为0.增加此参数将允许一定百分比的映射任务失败而不会使作业失败.
您可以在mapred-site.xml中设置此参数(将应用于所有作业),也可以逐个作业(可能更安全).