文章目录
- 什么是MapReduce
- MapReduce计算框架
- 并行计算框架
- 分布式计算
- Hadoop为什么比传统技术方案快
- MapReduce的核心思想
- MapReduce的组成
- MapReduce并行计算
什么是MapReduce
mapReduce是一个计算框架,是指实现某项任务或某项工作从开始到结束的计算过程或流的结构
MapReduce计算框架
并行计算框架
一个大的任务拆分成多个小任务,将多个小任务分发到多个节点上。每个节点同时执行计算
分布式计算
分布式计算是一种计算方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理
Hadoop为什么比传统技术方案快
分布式存储 分布式并行计算 节点横向扩展 移动程序到数据端 多个副本数据
MapReduce的核心思想
MapReduce的核心思想是**“分而治之,先合后分”**。即将一个大的,复杂的工作或任务,拆分成多个小的任务,并行处理,最终进行合并。 适用于大量复杂的、时效性不高的任务处理场景。
MapReduce的组成
MapReduce由两部分组成,分别是Map和Reduce两部分。 Map负责“分”,即把复杂的任务分解为若干个“简单任务”来并行处理。拆分的前提是这些小任务可以互相并行计算,彼此之间没有什么依赖关系。 reduce负责“合”,即对Map阶段的结果进行全局汇总。
MapReduce并行计算
HDFS存储数据时对大于128M的数据会进行数据切分,每128M一个数据块,数据块会分散、分布存储到HDFS。
MapReduce在进行计算前会复制计算程序,每个数据块会分配一个独立的计算程序副本(MapTack)。计算时多个数据块几乎同时被读取并计算,但是计算程序完全相同。最终将各个计算程序计算的结果进行汇总(Reduce来汇总)