来自: 不走寻常路
回复量:4
创建时间: 2017-02-23 11:00
hadoop 中mapreduce 在map阶段 spill出来的文件如果有5000个,那么combiner合并的时候,默认是多少个文件一起合并啊?
这个可以设置不?
0 赞
4 回复
mapreduce.job.maps
combiner是根据条件来合并的。应该是不能设置的。
源代码 org.apache.hadoop.mapred.MapTask.MapOutputBuffer 中的init方法中启动了一个SpillThread守护线程,然后调用了一个方法sortAndSpill();
if (spstart != spindex) {
combineCollector.setWriter(writer);
RawKeyValueIterator kvIter =
new MRResultIterator(spstart, spindex);
combinerRunner.combine(kvIter, combineCollector);
}
combine方法是注释为:Run the combiner over a set of inputs.
以分区为单位合并,多轮次递归合并,每次合并io.sort.factor个。。。默认100
696
mapreduce中 combiner 合并文件,默认是一次合并多少个文件啊?
731
请问 谁有课程 (推荐算法与Spark MLLIB) 里面的代码
947
733
953