首先先介绍什么是计算框架
计算框架
是指实现某项任务或某项工作从开始到结束的计算过程或流的结构。
并行计算框架
一个大的任务拆分成多个小任务,将多个小任务分发到多个节点上。每个节点同时执行计算。
MapReduce思想
MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)apReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)
Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。将数据进行拆分。
Reduce负责“合”,即对map阶段的结果进行全局汇总。将数据进行汇总。
框架结构
一个完整的mapreduce程序在分布式运行时有三类实例进程
MRAppMaster:负责整个程序的过程调度及状态协调
MapTask:负责map阶段的整个数据处理流程
ReduceTask:负责reduce阶段的整个数据处理流程