初步了解MapReduce,我们要知道它的工作原理,
首先,MapReduce在Hadoop中是负责计算的单元,HDFS是存储单元,那么MapReduce就是计算HDFS上的数据,提取数据的价值。
MapReduce分为两个
比如现在HDFS中有1T的数据,他们是按照Blocak块的制定大小存储的
-
Map 负责拆分数据
数据现在Map中进行一个数据清洗,将垃圾数据清除掉,
然后在做一次简单的处理,减轻Reduce的计算压力
Map首先将一块数据拿进来,进行拆分,拆分的大小因情况而定,可以每份都不同(按行拆分,每5w行为一份)
分为几个单元进行计算,分类,每个单元处理一份,将一份进行排序等操作。
最后将所有单元处理好的每份的按照分类合成一个整体,
最后将每种类型发送到不同的Reduce做处理 -
Reduce负责合并数据
Reduce来计算合并数据,将Map所分类的不同类型数据会有不同的Rdeuce进行处理,
最后将处理好的所有数据进行一次大的处理(排序),
输出完整的数据。
缺点:
1. MapReduce采用的是批处理,不能进行实时计算
2. 不擅长处理变化的数据