主页 > 新闻资讯 > 大数据学习:MapReduce产生背景介绍

大数据学习:MapReduce产生背景介绍

作者:张老师 浏览次数: 2020-12-02 16:58
对于大数据处理的诸多计算框架,从Hadoop到Spark,其中受到重用的数据处理思想,其实一直都是MapReduce。MapReduce开创了分布式并行计算的先河,并且在之后的发展当中持续得到应用。今天的大数据学习分享,我们就主要来讲讲MapReduce是怎么来的。

事实上,MapReduce的基因是来自Google公司的,在PC互联网时代,搜索引擎所承载的数据资源是非常庞大的,而用户在搜索端的需求,需要从海量的数据当中去快速提取出相应的资源。面对越来越庞大的数据资源,以及越来越丰富的搜索需求,Google开始了探索。

大数据学习:MapReduce产生背景介绍

2004年,Google 在 MapReduce: Simplified Data Processing on Large Clusters 论文中提出了MapReduce 的功能特性和设计理念,设计MapReduce 的出发点就是为了解决如何把大问题分解成独立的小问题,再并行解决。

例如,MapReduce的经典使用场景之一就是对一篇长文进行词频统计,统计过程就是先把文章分为一句一句,然后进行分割,最后进行词的数量统计。

对相互间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略,这就是MapReduce的最初指导思想。

MapReduce用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归约),是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。

MapReduce合并了两种经典函数:

映射(Mapping)对集合里的每个目标应用同一个操作。即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mapping。

化简(Reducing)遍历集合中的元素来返回一个综合的结果。即,输出表单里一列数字的和这个任务属于reducing。

各个map函数对所划分的数据并行处理,从不同的输入数据产生不同的中间结果输出。

各个reduce也各自并行计算,各自负责处理不同的中间结果数据集合—进行reduce处理之前,必须等到所有的map函数做完,因此,在进入reduce前需要有一个同步障(barrier);这个阶段也负责对map的中间结果数据进行收集整理(aggregation&shuffle)处理,以便reduce更有效地计算最终结果——最终汇总所有reduce的输出结果即可获得最终结果。

关于大数据学习,MapReduce产生背景,以上就为大家做了简单的介绍了。MapReduce作为大数据处理的重要框架,在大数据生态当中的地位关键,掌握MapReduce对后续的学习也至关重要。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,零基础班本月即将开班,课程大纲及试听课程可联系客服领取!
热点排行
推荐文章
立即申请>>