MapReduce: 分布式的计算框架
缺点:执行速度慢
IO瓶颈 ==> 磁盘IO 网络IO
shuffle机制:数据需要输出到磁盘,而且每次shuffle都需要进行排序操作
框架的机制:
只有Map和Reduce两个算子,对于比较复杂的任务,需要构建多个job来执行
当存在job依赖的时候,job之间的数据需要落盘(输出到HDFS上)
Spark:基于内存的分布式计算框架==>是一个执行引擎
用RDD进行各种运算,有多种算子(具体可以参考源码)
起源于加州大学伯克利分校的AMPLib实验室
官网:http://spark.apache.org/
官方博客:https://databricks.com/blog
运行环境:
MR运行在YARN上,
spark
local:本地运行
standalone:使用Spark自带的资源管理框架,运行spark的应用
yarn:将spark应用类似mr一样,提交到yarn上运行
mesos:类似yarn的一种资源管理框架