MapReduce简单介绍

什么是MapReduce

mapReduce是一个计算框架,是指实现某项任务或某项工作从开始到结束的计算过程或流的结构

MapReduce计算框架

MapReduce简单介绍

并行计算框架

一个大的任务拆分成多个小任务,将多个小任务分发到多个节点上。每个节点同时执行计算
MapReduce简单介绍

分布式计算

分布式计算是一种计算方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理
MapReduce简单介绍

Hadoop为什么比传统技术方案快

分布式存储
分布式并行计算
节点横向扩展
移动程序到数据端
多个副本数据

MapReduce的核心思想

MapReduce的核心思想是**“分而治之,先合后分”**。即将一个大的,复杂的工作或任务,拆分成多个小的任务,并行处理,最终进行合并。
适用于大量复杂的、时效性不高的任务处理场景。

MapReduce的组成

MapReduce由两部分组成,分别是Map和Reduce两部分。
Map负责“分”,即把复杂的任务分解为若干个“简单任务”来并行处理。拆分的前提是这些小任务可以互相并行计算,彼此之间没有什么依赖关系。
reduce负责“合”,即对Map阶段的结果进行全局汇总。

MapReduce并行计算

HDFS存储数据时对大于128M的数据会进行数据切分,每128M一个数据块,数据块会分散、分布存储到HDFS。

MapReduce在进行计算前会复制计算程序,每个数据块会分配一个独立的计算程序副本(MapTack)。计算时多个数据块几乎同时被读取并计算,但是计算程序完全相同。最终将各个计算程序计算的结果进行汇总(Reduce来汇总)

MapReduce简单介绍