首頁技術文章正文

Spark是怎么做內存計算的?Spark為什么比MapReduce 快?

更新時間:2023-06-23 來源:黑馬程序員 瀏覽量:

IT培訓班

Spark會產生DAG圖,DAG圖會基于分區(qū)和寬窄依賴關系劃分階段。一個階段的內部都是窄依賴,窄依賴內,如果形成前后1:1的分區(qū)對應關系,就可以產生許多內存迭代計算的管道。

這些內存迭代計算的管道,就是一個個具體的執(zhí)行Task,一個Task是一個具體的線程,任務跑在一個線程內,就是走內存計算了。

Spark的算子豐富,MapReduce算子圓乏(Map和Reduce),MapReduce這個編程模型,很難在一套MR中處理復雜的任務。很多的復雜任務,是需要寫多個MapReduce進行串聯.多個MR串聯通過磁盤交互數據。

Spark可以執(zhí)行內存迭代,算子之間形成DAG基于依賴劃分階段后,在階段內形成內存迭代管道.但是MapReduce的Map和Reduce之間的交互依舊是通過硬盤來交互的.

分享到:
在線咨詢 我要報名
和我們在線交談!