使用了combiner来聚合mapper端一些数据,发现个诡异的问题,输出到reducer端的数据总是时好时坏,
找了两天终于发现原来combiner可能会在mapper端多次执行,如果mapper端数据比较大,combiner可能就会分多次被执行,hadoop文档中也有说明combiner可能被执行也可能不被执行,要求mapper输出数据格式和combiner输出一致。改了下输出格式,问题没了。
使用了combiner来聚合mapper端一些数据,发现个诡异的问题,输出到reducer端的数据总是时好时坏,
找了两天终于发现原来combiner可能会在mapper端多次执行,如果mapper端数据比较大,combiner可能就会分多次被执行,hadoop文档中也有说明combiner可能被执行也可能不被执行,要求mapper输出数据格式和combiner输出一致。改了下输出格式,问题没了。