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