Spark是基于內存的快速,通農用,可拓展的大數據分析計算引擎,Hadoop是一個分布式系統基礎架構
Spark和Hadoop之間的對比和聯系
架構與組件:
?Hadoop:
■ HDFS:分布式文件系統,負責海量數據存儲。
■ MapReduce:批處理框架,通過分治思想處理數據(Map階段分散任務,Reduce階段聚合結果)。
? Spark:
■ 核心引擎:基于內存的分布式計算框架,支持多種計算模式
2.數據處理模型:
? Hadoop MapReduce:
■ 磁盤讀寫:中間結果頻繁寫入磁盤,適合離線批處理,但延遲高。
■ 容錯機制:通過數據冗余(HDFS)和任務重試實現容錯。
? Spark:
■ 內存計算:中間數據優先緩存到內存,減少磁盤IO,迭代計算速度提升10-100倍。
■ RDD容錯:通過RDD的血緣關系(Lineage)重建丟失數據,避免冗余存儲。
性能差異:
? 迭代計算:Spark在機器學習、圖計算等需要多次迭代的場景中顯著優于MapReduce。
? 實時性:Spark Streaming支持微批次(準實時)處理,而MapReduce僅適合離線任務。
資源管理:
? Hadoop依賴YARN進行資源調度,Spark可獨立運行或集成YARN/Mesos/K8s。