MapReduce架构概述
MapReduce是一个分布式运算程序的编程框架,是用户开发“Hadoop的数据分析应用”的核心框架。
MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。
Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。
Reduce负责“合”,即对map阶段的结果进行全局汇总。
MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运行程序,并发运行在一个Hadoop集群上。
先分--后汇总。
MapReduce:自己处理业务相关代码+框架自身的默认代码。
有点:
1、易于编程:用户只关心业务逻辑,时间框架的接口。
2、良好扩展性:可以动态增加服务器,决绝计算资源不够问题。
3、高容错性:任何一台机器挂掉,可以将任务转移到其他节点。
4、适合海量数据计算(TB/PB).