Map -> Reduce
mapper输出到reduce输出流程图
多数情况下,combine逻辑和reduce逻辑一样
本地combine优化
一个mapreduce作业中,分区数量、reduce任务数量和最终输出的文件数量是一致的
本地优化--combine
一个MapReduce作业中,以下三者的数量总是相等的:
partitioner的数量
reduce任务的数量
最终输出稳健(如part-r-00000)
Split
map
shfull
combine(本地reduce)
reduce
map-reduce的整个过程
213232
3234324
231213
323424
23424234
213131
213213
213123
213213
Reduce任务数量
在一个reducer中,所有数据都会被按照key值升序排序
partition reduce和输出文件的数量是相同的
reduce 任务数量
reduce任务数的调节:
调节mapred.reduce.tasks;
在代码中调用job.setNumreduce Tasks(int n)方法
mapReduce 作业中,Partitioner的数量,Reduce任务数,最终输出文件数是一样的