18
2021
02

MapReduce 执行过程分析

第一阶段map

1.map task读取HDFS文件。每个block,启动一个map task。每个map task按照行读取一个block中的内容,对每一行执行map函数

2.map函数对输入的数据进行拆分split,得到一个数组,组成一个键值对<word, 1>

3.分区,每个分区对应1个reduce task

4.对每个分区中的数据,按照key进行分组并排序

5.在map段执行小reduce,输出<key,times>


第二阶段reduce

1.每个分区对应一个reduce task,这个reduce task会读取相同分区的map输出;reduce task对接收到的所有map输出,进行排序分组<hello,{1,1}><me,{1}><you,{1}>

2.执行reduce 操作,对一个分组中的value进行累加<hello,2><me,1><you,1>

3.每个分区输出到一个HDFS文件中

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。