我们使用弹性的Map Reduce相当广泛,并与它正在处理越来越多的数据。有时我们的工作失败,因为数据格式不正确。我们不断修改我们的地图脚本以处理各种异常情况,但有时仍会有一些格式错误的数据管理我们的脚本。弹性地图缩小:继续出错?
即使某些map或reduce作业失败,是否可以将Elastic Map Reduce指定为“继续出错”?
至少,是否有可能增加整个集群失败的失败任务的最小数量(有时,我们在500个左右的任务中只有1个失败的任务,并且我们希望至少获得这些任务结果,并在集群继续运行。)
此外,虽然我们可以修改我们的映射脚本来处理新的异常,我们使用默认的Hadoop的“聚合”减速,以及当出现故障时,我们也没有办法赶上一个例外。有没有在“聚合”减速处理错误任何特殊的方式,还是必须与上面的问题#2提供什么给我们的工作(增加的失败任务的最低数量。)
感谢下一步,我是能够实际发现错误并将其修复到我的映射器中。我的确有一个相当详尽的try/catch逻辑,但它在我的情况下并不奏效,因为mapper正确地输出了一行 - 其中有一个换行符!一旦这个问题得到解决,整个事情就能正常工作。 – Suman 2013-02-25 23:01:19
我试图找出是否有比映射器try/catch语句其他任何东西 - 在Hadoop中本身的东西,让工作继续完成,即使在一个地图或减速故障的情况下。 – Suman 2013-02-25 23:01:52
感谢您的更新!出于某种原因,我没有得到通知 - 我实际上没有使用Java,我正在使用Hadoop流......我如何指定流中允许的最大失败次数? – Suman 2013-03-04 20:35:02