spark原理和spark與mapreduce的最大區別

參考文檔:https://files.cnblogs.com/files/han-guang-xue/spark1.pdfhtml

參考網址:https://www.cnblogs.com/wangrd/p/6232826.html算法

 

對於spark我的理解:編程

  spark與mapreduce最大不一樣之處:spark是能夠將某個特定的且反覆使用的數據集的迭代算法高效運行,mapreduce處理數據須要與其餘節點的或是框架保持高度並行,沒法實現這樣的效果數據結構

 摘自:sanqima框架

  Spark中最核心的概念是RDD(彈性分佈式數據集),近年來,隨着數據量的不斷增加,分佈式集羣並行計算(如MapReduce、Dryad等)被普遍運用於處理日益增加的數據。這些設計優秀的計算模型大都具備容錯性好、可擴展性強、負載平衡、編程方法簡單等優勢,從而使得它們受到衆多企業的青睞,被大多數用戶用來進行大規模數據的處理。
  可是,MapReduce這些並行計算大都是基於非循環的數據流模型,也就是說,一次數據過程包含從共享文件系統讀取數據、進行計算、完成計算、寫入計算結果到共享存儲中,在計算過程當中,不一樣計算節點之間保持高度並行,這樣的數據流模型使得那些須要反覆使用一個特定數據集的迭代算法沒法高效地運行
  Spark和Spark使用的RDD就是爲了解決這種問題而開發出來的,Spark使用了一種特殊設計的數據結構,稱爲RDD。RDD的一個重要特徵是,分佈式數據集能夠在不一樣的並行環境當中被重複使用,這個特性將Spark和其餘並行數據流模型框架(如MapReduce)區別開。分佈式

具體實現:spa

相關文章
相關標籤/搜索