MapReduce简介及优点
- MapReduce是一个分布式运算程序的编程框架,是Hadoop数据分析的核心
- MapReduce的核心思想是将用户编写的逻辑代码和架构中的各个组件整合成一个分布式运算程序,实现一定程序的并行处理海量数据,提高效率
- 海量数据难以在单机上处理,而一旦将单机版程序扩展到集群上进行分布式运行势必将大大增加程序的复杂程度,所以引入MapReduce架构,开发人员可以将精力集中于数据处理的核心业务逻辑上,而将分布式程序中的公共功能封装成框架,以降低开发的难度
- 一个完整的MapReduce 程序有三类实例进程
- MRAppMaster:负责整个程序的协调过程
- MapTask:负责map阶段的数据处理
- ReduceTask:负责reduce阶段的数据处理
MapReduce基本流程
第一步:InputFormat
第二步:Split
第三步:RecordReader
第四步:Map
第五步:Partition
第六步:Sort
第七步:Combiner
第八步:Group
第九步:Reduce
第十步:OutputFormat
MapReduce整体详细流程
1.Map阶段
1、数据读取、逻辑切片
首先ÿ