0%

MapReduce

MapReduce运行步骤

1、【input阶段】获取输入数据进行分片作为map的输入
2、【map阶段】过程对某种输入格式的一条记录解析一条或多条记录
3、【shffle阶段】对中间数据的控制,作为reduce的输入
4、【reduce阶段】对相同key的数据进行合并
5、【output阶段】按照格式输出到指定目录

MapReduce作业(job):

1
客户端需要执行的一个工作单元,它包括输入数据,MapReduce程序和配置信息

任务(task):

1
Hadoop将作业分成若干个小任务来执行,其中包括两类任务:map任务和reduce任务。这些任务由yarn进行调度并运行在集群的节点上

数据块(block):

1
HDFS上的文件被划分为大小相同的数据块,作为独立的存储单元,数据块的默认大小为128m

输入分片(input split):

1
2
3
4
Hadoop将MapReduce的数据划分为等长的小数据块,输入分片,或者简称“分片”。InputSplit分为两种情况:
-如果数据记录位于一个数据块中,InputSplit可表示完整的数据记录集,例如第一个InputSplit
-如果数据记录跨两个数据块,InputSplit中会包含第二个数据块的位置以及所需完整数据的偏移量。如第2-5个InputSplit。
默认情况下InputSprit与block大小一致

Map阶段的运行结果是保存在本地文件上的