MapReduce工作原理

举报
huangruie 发表于 2020/02/23 17:48:09 2020/02/23
【摘要】 MapReduce是Hadoop平台的基础组件之一,它是一个分布式的计算框架,用于大数据的离线计算,和HDFS、YARN搭配使用。MapReduce主要分为切片File、Map 、shuffle和Reduce四个阶段,数据导入——首先是将数据上传到HDFS上进行切片(一般默认分片是64M)、存储Map阶段——然后会由YARN进行资源的协调与分配,启动job,进行分片操作,一般默认HDFS的一...

MapReduce是Hadoop平台的基础组件之一,它是一个分布式的计算框架,用于大数据的离线计算,和HDFS、YARN搭配使用。

MapReduce主要分为切片File、Map 、shuffle和Reduce四个阶段,

  1. 数据导入——首先是将数据上传到HDFS上进行切片(一般默认分片是64M)、存储

  2. Map阶段——然后会由YARN进行资源的协调与分配,启动job,进行分片操作,一般默认HDFS的一个块(64M)就是一个分片,一个分片对应一个map进程进行并行处理计算,数据表现形式也是以Key-Value的形式(一般 Key代表特征值,Value代表数量)

  3. Map shuffle阶段——计算过程中的数据都是在内存中进行,在Map的数据落盘之前,会有分区(根据Key值进行Hash算法来分区)、排序、组合(本地化的优化操作,将Key值相同的组合相加,减少Reduce的输入)、合并(将溢出文件进行合并,生成经过排序和合并处理的MOF文件,),统称Map的shuffle操作(这四步骤不是必须都有)

  4. Reduce shuffle阶段——将Map阶段落盘的MOF文件进行读取,每个Map task都有对应的Reduce task,这一阶段相当于将之前分布给各个节点的key值相同的数据进行整合然后再分配给每个Reduce task

  5. Reduce阶段——将key值相同的 Value值进行叠加


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。