MapReduce 基础

一、概述

1、概念

是一个分布式运算程序的编程框架

2、核心功能

业务逻辑代码和自带默认组件

二、MapReduce的优缺点

1、优点

易于编程、良好的扩展性、高容错性、适合PB级以上海量数据的离线处理

2、缺点

不擅长实时计算、不擅长流式计算、不擅长依赖关系的计算

三、核心思想

1、MapReduce运算程序一般分为两个阶段:Map阶段和Reduce阶段

2、Map阶段的并发为MapTask,完全并行运行,互不相干

3、Reduce阶段的并发ReduceTask,完全互不相干,但他们的数据依赖上阶段所有的MapTask并行实例的输出

4、MapReduce编程模型只能包含一个Map阶段和一个Reduce阶段,如果用户逻辑非常复杂,那么就只能多个MapReduce串行

注意:

Map阶段对数据进行按行处理

四、MapReduce进程

1、MrAppMaster:负责整个程序的过程调度及状态协调

2、MapTask:负责Map阶段的整个数据处理流程

3、ReduceTask:负责Reduce阶段整个数据处理流程

原文地址:https://www.cnblogs.com/wt7018/p/13602894.html