继上一节的HDFS,这一节来学习并行计算框架MapReduce。
作为Hadoop的又一核心概念,HDFS解决了数据的存储的问题,而MapReduce自然解决的是并行计算的问题。
目录:
- Hadoop的优势与概念
- Map和Reduce函数
- MapReduce体系结构:Client,JobTracker, TaskTracke,Task
- 工作流程
- shuffle过程详解:Map和Reduce端各自的shuffle过程
- 应用程序执行过程
- 统计词频例子
- 总结
首先,相对于在此之前诸如MPI之类的并行计算框架,MapReduce有什么优势呢?
在集群架构上,传统框架大抵采用的是共享式(共享内存/存储),容错性低,而MapReduce就不共享。
传统计算框架采用刀片服务器、高速网等设备,价格昂贵,而MapReduce只需要普通的PC机就可以了,便宜,扩展性又好。
在适用场合上,传统并行计算框架适用于实时的、细粒度计算和计算密集型。但是MapReduce更适合批处理、非实时,数据密集型的计算。
MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce。
程序运行在分布式系统上,完成海量数据的计算。
MapReduce采用分而治之策略,一个存储在分布式文件系统中的大规模数据集,会被切分为许多独立的分片,这些分片可以被多个Map任务并行处理。
MapReduce设计的一个理念就是”计算向数据靠拢“,而不是”数据向计算靠拢“。因为移动数据需要大量的网络传输开销。
MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。
Map和Reduce函数:
| 函数 |
|---|

本文介绍了MapReduce并行计算框架,详细讲解了Map和Reduce函数、MapReduce的体系结构、工作流程以及shuffle过程。MapReduce将大规模数据集切分为独立分片并行处理,强调计算向数据靠拢,通过Map映射和Reduce归约实现并行计算。shuffle过程在Map和Reduce任务间传输数据,涉及分区、排序和合并操作,对Hadoop性能有显著影响。
3148

被折叠的 条评论
为什么被折叠?



