YARN上的计算框架大类概念

目前基于Hadoop2.0运行在YARN上的计算框架大类

1.离线计算框架:MapReduce

2.DAG计算框架:Tez

3.流式计算框架:Storm

4.内存计算框架:Spark

 

 

MapReduce:

将计算过程分成两部分(Map和Reduce),输入的数据集是静态的,不能动态变化。

Map阶段并行处理输入数据(Map Task将数据写的本地磁盘)

Reduce阶段对Map结果汇总(Reduce Task从每个Map Task上读取一份数据)

Shuffle连接两个阶段

MapReduce仅适合离线批处理,但是启动开销大,过多使用磁盘导致效率低下

 

Tez:

多个作业之间存在数据依赖关系,并形成一个依赖关系有向图,该图的计算称为“DAG计算”

YARN上的计算框架大类概念

同MapReduce区别,左边Mapreduce,右边Tez(Mapreduce会多磁盘IO)

YARN上的计算框架大类概念

 

Storm:

指被处理的数据像流水一样不断流入系统,而系统需要针对每条数据进行实时处理和计算,并永不停止(直至用户显式杀死进程)。

 

Spark:

克服MapReduce在迭代式计算和交互式计算变化的不足,引入RDD数据表示模型(Resilient Distributed Datasets),RDD是一个有容错机制,可以被并行操作的数据集合,能够被缓存到内存或磁盘上。

                                      spark的生态

YARN上的计算框架大类概念