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计算”
同MapReduce区别,左边Mapreduce,右边Tez(Mapreduce会多磁盘IO)
Storm:
指被处理的数据像流水一样不断流入系统,而系统需要针对每条数据进行实时处理和计算,并永不停止(直至用户显式杀死进程)。
Spark:
克服MapReduce在迭代式计算和交互式计算变化的不足,引入RDD数据表示模型(Resilient Distributed Datasets),RDD是一个有容错机制,可以被并行操作的数据集合,能够被缓存到内存或磁盘上。