hadoop过程

map->shuffle->reduce

map->partition->sort->combine->  group->reduce

map->partition->buffer->sort->combine->spill->merge(combine)-------copy->merge(combine)->reduce

job.setInputFormatClass,默认TextInputFormat,将数据切分成<key,value>,传递给map

map。。。

combiner

第一次排序(不知道是不是这里)

setPartitionerClass, 默认HashPartitioner,分割(按照某种规则分割,然后传递给reduce,在进行二次排序的时候需要重写),hash分割需要相同key在同一个部分

job.setSortComparatorClass  第二次排序,对分割好的各个部分排序


job.setGroupingComparatorClass  reduce之前进行分组,将相同key放在一起,和partiton不同的是partition中不同key也可能在一组

job.setReducerClass  reduce过程

你可能感兴趣的:(hadoop过程)