保姆级图文讲解MapReduce的工作流程机制
知识点:
MapReduce的核心思想是什么?
答: '先分离再合并'
MapReduce的简要流程是啥?
答:分为五个步骤。分别是 Input/Read、Map、Shuffle、Reduce、Output/Write
Map阶段是做啥的?
答:Map是分的阶段,把复杂的任务拆分成多个小的任务,拆分的前提是多个小任务互不干预,可以独立存在。
Reduce阶段是做啥的?
答:Reduce是全局汇总计算。把shuffle阶段得到的结果进行汇总,得到最终的结果。
什么是shuffle机制?
答:shuffle是把Map阶段后的数据进行分层排序
:shuffle的核心是数据分组也叫分区
:shuffle是通过磁盘和内存进行交互来进行计算的,所以效率极低。
:shuffle阶段是指Map任务输出数据到reduce任务接收数据。这中间所有的内容都是shuffle.
官方示例整体流程图人话版讲解
业务需求(WordCount):统计文件中每个单词出现的总次数
![在这里插入图片描述](https://img-blog.csdnimg.cn/500f169476e242b3a89324aefaf40968.png#pic_center)
流程图分析:
1.导入文件
2.对文件按照一定的规则进行拆分,且拆分后的文件互相独立,互不影响
3.Map阶段,对文件中的数据进行拆分
4.Shuffle阶段,对Map阶段产生的数据结果进行分区,把相同的结果放到一起
5.Reduce阶段,对Shuffle阶段的结果进行汇总,把数据一致的放到一起进行统计
6.最终结果,把Reduce阶段产生的数据,又重新放到一个文件中统计。