MapReduce\Tez\Storm\Spark四个框架的异同
1) MapReduce:是一种离线计算框架,将一个算法抽象成Map和
Reduce两个阶段进行处理,非常适合数据密集型计算。
2) Spark:MapReduce计算框架不适合迭代计算和交互式计算
,MapReduce是一种磁盘计算框架,而Spark
则是一种内存计算框架,它将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率。
3) Storm:MapReduce
也不适合进行流式计算、实时分析,比如广告点击计算等,而Storm
则更擅长这种计算、它在实时性要远远好于MapReduce计算框架。
4)Tez: 运行在YARN之上支持DAG作业的计算框架,对
MapReduce数据处理的归纳。它把Map/Reduce
过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG
任务,减少了Map/Reduce
之间的文件存储。同时合理组合其子过程,也可以减少任务的运行时间。
MapReduce\Tez\Storm\Spark
四个框架的异同
liu0457
1
)
MapReduce:
是一种离线计算框架,
将一个算法抽象成
Map
和
Reduce
两个阶段进行处理,非常适合数据密集型计算。
2
)
Spark:MapReduce
计
算
框
架
不
适
合
迭
代
计
算
和
交
互
式
计
算
,
MapReduce
是一种磁盘计算框架,而
Spark
则是一种内存计算框架,它
将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率。
3
)
Storm:MapReduce
也不适合进行流式计算、实时分析,比如广告点
击计算等,而
Storm
则更擅长这种计算、它在实时性要远远好于
MapReduce
计算框架。
4
)
Tez:
运行在
YARN
之上支持
DAG
作业的计算框架,对
MapReduce
数据处理的归纳。它把
Map/Reduce
过程拆分成若干个子过程,同时可
以把多个
Map/Reduce
任务组合成一个较大的
DAG
任务,减少了
Map/Reduce
之间的文件存储。同时合理组合其子过程,也可以减少任
务的运行时间。