四个分布式计算框架MapReduce/Tez/Spark/Storm异同

MapReduceSparkStormTez四个框架的异同

离线计算框架,MapReduce

是一种将一个算法抽象成Map和Reduce两个阶段进行

处理,非常适合数据密集型计算。

内存计算框架,Spark:MapReduce

计算框架不适合迭代计算和交互式计算,MapReduce是一种磁盘计算框架,而Spark则是一种内存计算框架,它将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率。

Tez

运行在YARN之上支持DAG作业的计算框架,对MapReduce数据处理的归纳。它把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,也可以减少任务的运行时间。

流式计算框架 Storm

MapReduce也不适合进行流式计算、实时分析,比如广告点击计算等,而Storm则更擅长这种计算、它在实时性要远远好于MapReduce计算框架。

你可能感兴趣的:(四个分布式计算框架MapReduce/Tez/Spark/Storm异同)