MapReduce与YARN:大数据处理框架的演进与比较
在大数据处理领域,MapReduce和YARN是两个重要的框架。下面将详细介绍它们的特点、工作原理、差异以及性能对比。
1. MapReduce概述
MapReduce是一种适合大规模数据搜索、挖掘、分析和机器学习的编程模式。由于函数表达式和向量编程语言之间的共性,它在处理TB和PB级数据时具有明显优势,尤其在处理TB级海量数据方面表现出色。然而,MapReduce并非万能,存在以下三个方面的不足:
- 处理紧密耦合任务效率低 :主要适用于松散耦合的数据处理,对于难以分解为多个独立子任务的紧密耦合计算任务效率极低。
- 不支持迭代计算 :无法明确支持迭代计算。
- 不适合流计算和实时分析 :是一种离线计算框架,不适合流计算和实时分析。
2. MapReduce V1研究
2.1 工作原理
MapReduce采用“分而治之,然后整合”的思想。Hadoop将一个大任务分解为多个小任务,然后并行执行。每个MapReduce任务初始化为一个Job,可分为Map阶段和Reduce阶段,这两个阶段由两个函数表示:
- Map函数 :接收一组 输入,然后生成相同的一组 中间输出。
- Reduce函数 :执行Reduce任务的机器挖掘具有相同Key的 数据,然后将其传递给Reduce函数。Reduce函数接收一组 作为输入,对值进行集合处理并输出结果,输
超级会员免费看
订阅专栏 解锁全文
838

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



