什么是MapReduce,一文带你读懂

简介: 什么是MapReduce,一文带你读懂

 什么是MapReduce?

MapReduce是一种编程模型,用于大规模数据集的并行运算;是面向大数据并行处理的计算模型、框架和平台。

MapReduce思想是什么?

MapReduce的思想核心是分而治之

image.gif编辑

所谓“分而治之”就是把一个复杂的问题按一定的“分解”方法分为规模较小的若干部分,然后逐个解决,分别找出各部分的解,再把把各部分的解组成整个问题的解。

概况起来,MapReduce所包含的思想分为两步:

"Map(映射)" 和 "Reduce(归约)"

Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系

Reduce负责“合”,即对map阶段的结果进行全局汇总

如何通俗的理解?

比较形象的语言解释MapReduce:

要数停车场中的所有停放车的总数量。

你数第一列,我数第二列…这就是Map阶段,人越多,能够同时数车的人就越多,速度就越快。

数完之后,聚到一起把所有人的统计数加在一起。这就是Reduce合并汇总阶段。

image.gif编辑

为什么要有MapReduce?

你一个人数一个停车场的汽车,很吃力,如果让你的几个好朋友和你一起数,你最后一汇总是不是就很简单了?这就是为什么要有MapReduce。

目录
相关文章
|
分布式计算 并行计算 算法
分布式计算MapReduce究竟是怎么一回事?
分布式计算MapReduce究竟是怎么一回事?
257 0
分布式计算MapReduce究竟是怎么一回事?
uiu
|
存储 分布式计算 资源调度
MapReduce 原理与实践
MapReduce 原理与实践
uiu
332 0
MapReduce 原理与实践
|
分布式计算 资源调度 并行计算
|
分布式计算 Python
Python实现一个最简单的MapReduce编程模型WordCount
Python实现一个最简单的MapReduce编程模型WordCount
163 0
|
分布式计算 资源调度 Hadoop
MapReduce 编程规范| 学习笔记
快速学习 MapReduce 编程规范
144 0
|
SQL 缓存 分布式计算
深度剖析MapReduce
考虑到目前很多公司还都在用这个计算引擎,以及后续要讲的Hive原生支持的计算引擎也是MapReduce,并且为Spark和MapReduce的对比做铺垫,笔者今天详细阐述一下MapReduce。鉴于Hadoop1.X已过时,Hadoop3.X目前用的还不多,企业中目前大量运用的还是Hadoop2.X,所以以下都是基于Hadoop2.X版本的MapReduce
深度剖析MapReduce
|
分布式计算 大数据 Hadoop
一文读懂MapReduce
Hadoop解决大规模数据分布式计算的方案是MapReduce。MapReduce既是一个编程模型,又是一个计算框架。也就是说,开发人员必须基于MapReduce编程模型进行编程开发,然后将程序通过MapReduce计算框架分发到Hadoop集群中运行。
1514 0
|
分布式计算 资源调度 Java