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的一種資源管理框架