最近搞了一个从hdfs中导出数据到本地磁盘上,结果数据块太多程序跑一会就因为某个块数据损坏而报错失败。
其实我希望的是能恢复多少恢复多少,忽略错误的块文件。
这里说两个配置项
1. mapred.map.max.attempts 默认4 map时报错重试几次,在这里我就设置1,,错就错了别耽误时间
2.mapred.max.map.failures.percent 默认0 map报错以后容忍报错的map百分比,这里我设置了50,不怕错错就错呗。
可是使用 -D mapred.map.max.attempts 来设置,这个参数一定要放在 main的参数前面。