MapReduce新旧版本对比:从原理到性能的全面解析
1. MapReduce概述
MapReduce编程模式因其函数式表达式与向量编程语言的共性,特别适用于海量数据的搜索、挖掘、分析以及机器学习。它能够处理TB和PB级别的数据,在处理TB级海量数据时具有显著优势。然而,MapReduce并非万能,存在以下三个方面的不足:
- 处理紧耦合任务效率低 :主要用于松散耦合的数据处理,对于难以分解为多个独立子任务的紧耦合计算任务效率极低。
- 不支持迭代计算 :无法显式支持迭代计算。
- 不适合流计算和实时分析 :作为离线计算框架,不适合流计算和实时分析。
2. MapReduce V1研究
2.1 原理
MapReduce采用“分而治之,再整合”的思想,Hadoop将大任务分解为小任务并并行执行。每个MapReduce任务初始化为一个Job,可分为Map阶段和Reduce阶段,由两个函数表示:
- Map函数 :接收一组 输入,生成相同的 中间输出。
- Reduce函数 :挖掘具有相同Key的 数据,接收 输入,处理并输出结果,输出形式为 。
MapReduce使用主从框架,主节点是JobTracker(作业服务器),从节点是TaskTracker(任务服务器),通过定时心跳进行通信:
- JobTracker :负责与客户端通信,接收客户端命令(如
超级会员免费看
订阅专栏 解锁全文
931

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



