使用了combiner来聚合mapper端一些数据,发现个诡异的问题,输出到reducer端的数据总是时好时坏,
找了两天终于发现原来combiner可能会在mapper端多次执行,如果mapper端数据比较大,combiner可能就会分多次被执行,hadoop文档中也有说明combiner可能被执行也可能不被执行,要求mapper输出数据格式和combiner输出一致。改了下输出格式,问题没了。
解决MapReduce中Combiner执行不稳定问题
本文探讨了在使用MapReduce处理大规模数据时遇到的Combiner执行不稳定问题,通过修改输出数据格式成功解决了该问题。主要内容包括:发现Combiner可能在Mapper端多次执行的现象;理解Hadoop文档中关于Combiner执行可能性的说明;分析Mapper输出数据与Combiner输出数据一致性的重要性;以及最终调整输出格式以消除问题。
使用了combiner来聚合mapper端一些数据,发现个诡异的问题,输出到reducer端的数据总是时好时坏,
找了两天终于发现原来combiner可能会在mapper端多次执行,如果mapper端数据比较大,combiner可能就会分多次被执行,hadoop文档中也有说明combiner可能被执行也可能不被执行,要求mapper输出数据格式和combiner输出一致。改了下输出格式,问题没了。

被折叠的 条评论
为什么被折叠?