大数据开发:MapReduce应用场景

MapReduce最初进入我们的实现,是作为Hadoop的核心计算引擎,负责分布式计算,也作为编程模型使用。在整个Hadoop生态当中,MapReduce的影响意义是深远的,也是第一代计算框架代表产品。今天的大数据开发学习分享,我们就来讲讲MapReduce应用场景相关的知识。
 

大数据学习:MapReduce应用场景


首先,MapReduce的设计初衷就是为了大规模数据集的批量处理,提升整体的数据处理效率,而MapReduce诞生之初,典型的应用就是使用MapReduce进行长句切割,然后进行词频统计,这也为MapReduce的应用场景埋下了伏笔。

MapReduce的计算流程

简单来说,Mapreduce的运算过程就是进行拆解-排序-汇总,解决的就是统计的问题,使用的思想就是分治的思想。

整个过程就是先读取文件,接着进行split切割,变成一个一个的词,然后进行map task任务,排列出所有词的统计量,接着sorting排序,按照字典序来排,接着就是进行reduce task,进行了词频的汇总,最后一步就是输出为文件。

其中对应着的是Hadoop Mapreduce对外提供的五个可编程组件,分别是InputFormat、Mapper、Partitioner、Reduce和OutputFormat。

MapReduce的应用场景

MapReduce的产生是为了把某些大的问题分解成小的问题,然后解决小问题后,大问题也就解决了。那么一般有什么样的场景会运用到呢?这里据几个非常典型的例子——

计算URL的访问频率

搜索引擎的使用中,会遇到大量的URL的访问,可以使用MapReduce来进行统计,得出(URL,次数)结果,在后续的分析中可以使用。

倒排索引

Map函数去分析文件格式是(词,文档号)的列表,Reduce函数就分析这个(词,文档号),排序所有的文档号,输出(词,list(文档号)),这个就可以形成一个简单的倒排索引,是一种简单的算法跟踪词在文档中的位置。

Top K问题

在各种的文档分析,或者是不同的场景中,经常会遇到关于Top K的问题,例如输出这篇文章的出现前5个最多的词汇。这个时候也可以使用MapReduce来进行统计。

关于大数据开发学习,MapReduce应用场景,以上就为大家做了简单的介绍了。MapReduce虽然在现在的大数据技术生态当中,需要实际编程的任务很少,但是该学还是得学。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值