天天看點

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

1.2 Spark大資料處理架構

       Spark作為一個通用的大資料計算平台,基于"One Stack to rule them all"的理念成功成為了一體化、多元化的大資料處理平台,輕松應對大資料進行中的實時流計算、SQL互動式查詢、機器學習和圖計算等,如圖1-23所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

1.2.1 Spark速度為何如此快

1. 統一的RDD抽象和操作

       Spark速度快的一個核心原因就是統一的RDD抽象,基于該抽象,使得Spark的架構可輕而易舉地使用Spark Core中所有的内容,并且各個架構可以在記憶體中無縫地內建和完成系統任務。基于統一的技術堆棧,Spark目前已經成為大資料通用計算平台。

2. 基于記憶體的疊代式計算

       Hadoop經典的處理過程,如圖1-24所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

       MapReduce在每次執行時都要從磁盤讀資料,計算完畢後都要把資料存放在磁盤上,如圖1-25所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

而Spark是基于記憶體的,執行過程如圖1-26所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

3. DAG(有向無環圖)

       DAG也是Spark速度快的極為重要的原因,圖1-27是一張DAG圖示例:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

       基于DAG,Spark具備非常精緻的作業排程系統,如圖1-28所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

    DAG中的依賴有寬依賴和窄依賴之分,如圖1-29所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

       在DAG圖中可以根據依賴對pipeline等進行優化操作,如圖1-30所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

       基于RDD和DAG,并行計算整個Job,如果1-31所示:

大資料Spark企業級實戰版【學習筆記】----Spark速度為何如此快

4. 出色的容錯機制

繼續閱讀