首页技术文章正文

MapReduce核心思想【图文介绍】

更新时间:2021-12-03 来源:黑马程序员 浏览量:

    

MapReduce核心思想

MapReuce的核心思想是“分而治之”。所谓"分面治之”就是把一个复杂的问题,按照一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成整个问题的结果。这种思想来源于日常生活与工作时的经验,同样也完全适合技术领域。

为了更好地理解“分而治之”思想.先来看一个生活中的例子。 例如,某大型公司在全国设立了分公司,假设现在要统计公司一年的营收情况制作年报,有两种统计方式。第一种方式是全国分公司将自己的账单数据发送至总部,由总部统一计算公司当年的营收报表:第二种方式是采用分而治之的思想,也就是说,先要求分公司各自统计营收情况,再将统计结果发给总部进行统一汇总计算。 这两种方式相比,显然第二种方式的策略更好,工作效率更高。

MapReduce作为一种分布式计算模型,它主要用于解决海量数据的计算问题。使用MapReduce分析海量数据时,每个MapReduce程序被初始化为一个工作任务,每个工作任务可以分为Map和Reduce两个阶段,具体介绍如下。

·Map阶段:负责将任务分解,即把复杂的任务分解成若干个“简单的任务”来并行处理,但前提是这些任务没有必然的依赖关系,可以单独执行任务。

·Reduce阶段:负责将任务合并,即把Map阶段的结果进行全局汇总。

下面通过一个图来描述上述MapReduce的核心思想,具体如下图所示。

1638525886818_MapReduce核心思想.jpg

MapReduce的核心思想


从图可知,MapReduce就是“任务的分解与结果的汇总”。即使用户不懂分布式计算框架的内部运行机制,但是只要能用Map和Reduce思想描述清楚要处理的问题,就能轻松地在Hadoop集群上实现分布式计算功能。



猜你喜欢:

数据分析的流程是什么?如何做数据分析?

Scrapy框架的工作原理是什么?

Spark Mllib分层抽样操作步骤

黑马程序员python+大数据开课程

分享到:
在线咨询 我要报名
和我们在线交谈!