MapReduce运行原理
MapReduce运行阶段
1
MapReduce运行架构
2
目 录
一、MapReduce运行阶段
MapReduce重点会分为四个运行阶段,分别是:Split、Map、Shuffle、Reduce。
什么是MapReduce
一、MapReduce运行阶段
此阶段,每个输入文件被分片输入到map。如一个文件有200M,默认会被分成2片,因为每片的默认最大值和每块的默认值128M相同。
如果输入为大量的小文件,则会造成过多的map数,导致效率下降,可采用压缩输入格式。
Split阶段
一、MapReduce运行阶段
执行map任务。map数由分片决定。
Map阶段
Shuffle阶段
将map的输出经过“整理”后给到reduce,也称为“混洗”。分为map端操作和reduce端操作。在map端,map的输出先写入缓存,当每次缓存快满时,由缓存“溢写”至磁盘,每次溢写都先进行“分区”,并对每个分区的数据进行“排序”和“合并”(可选)。一般会产生多个溢写的文件,这些文件会在map端先被“归并”为一个大的磁盘文件,通知reduce任务来领取自己的分区。在red