浅谈MapReduce算法的五个过程

本文介绍了MapReduce算法的基础概念及其在Hadoop平台上的应用。详细解析了MapReduce的五个核心步骤:input、map、shuffle、reduce及output,并通过wordcount实例展示了数据处理的具体流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


MapReduce算法是hadoop大数据平台最基础的算法,它是整个分布式算法的基石,掌握了MapReduce算法,有助于我们理解整个大数据算法的思维方式。以下浅谈MapReduce的五个过程,我会继续在五个过程的基础上,通过wordcount的Java实例,详细的解释具体的过程。

MapReduce的过程分为五个部分:

    input:读取数据的过程,默认读取的是HDFS(hadoop分布式文件存储系统)的数据。

                input以 key value的方式传递数据。每次读取一行的内容,封装成keyvalue,每一个keyvalue调用一次map

    map:将input的输入进行切分,一个分片一个map task来处理。map可以看做是一个function。

map的输出是list<key,value>格式,还包含一个context:上下文,用于传递每个阶段的数据。

    shuffle:(MapReduce中最神奇的地方):将map的输出进行分区(按照hash值取余的方式将map分成不同的task,      相同的key值在一个task中)。

 分组排序,最后shuffle的输出是以<key,list<value>>的格式传递。

     reduce:  将每个map task的输出进行合并处理,可以实现一定的业务逻辑。输出的格式是<key,value>

     output:将reduce的输入作为输出,还是以<key,value>的键值的方式,和input一样,默认将reduce的输入写入HDFS中。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值