MapReduce

本文介绍了分布式计算框架MapReduce,它能可靠并行处理海量数据集,用于解决搜索领域海量数据计算问题。阐述了其由Map和Reduce两阶段组成及各自功能,说明了处理数据的具体步骤,还提及了使用MapReduce的要点。

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

一、MapReduce是什么
MapReduce是一种分布式计算框架 ,以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。主要用于搜索领域,解决海量数据的计算问题。
MR有两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算。
二、MapReduce做什么
1.MapReduce框架由Map和Reduce组成。
2.Map()负责把一个大的block块进行切片并计算。
3.Reduce() 负责把Map()切片的数据进行汇总、计算。
三、MapReduce怎么做
1.第一步对输入的数据进行切片,每个切片分配一个map()任务,map()对其中的数据进行计算,对每个数据用键值对的形式记录,然后输出到环形缓冲区(图中sort的位置)。
2.map()中输出的数据在环形缓冲区内进行快排,每个环形缓冲区默认大小100M,当数据达到80M时(默认),把数据输出到磁盘上。形成很多个内部有序整体无序的小文件。
3.框架把磁盘中的小文件传到Reduce()中来,然后进行归并排序,最终输出。
四、要点是什么
1.MapReduce将输入的数据进行逻辑切片,一片对应一个Map任务
2.Map以并行的方式处理切片
3.框架对Map输出进行排序,然后发给Reduce
4.MapReduce的输入输出数据处于同一个文件系统(HDFS)
5.框架负责任务调度、任务监控、失败任务的重新执行
6.框架会对键和值进行序列化,因此键和值需要实现writable接口,框架会对键排序,因此必须实现writableComparable接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值