If MapReduce detects that a worker has failed or is slow on a Map task, it will restart redundant Map tasks to process the same data.
If the redundant Map tasks also fail, maybe the problem is that the data caused the algorithm to fail, rather than hardware failure.
MapReduce can restart the Map task without the last un-processed data. This causes the output to be not quite right, but for some tasks (e.g. average movie rating) it may be acceptable.