Spark——分散式平行計算概念
一,概念
一個資源密集型的任務,需要一組資源並行的完成,當計算機任務過重,就把計算任務拆分,然後放到多個計算節點上同時執行,這就是分散式平行計算啦。分散式平行計算,強呼叫硬體的堆疊,來解決問題。spark解決的問題:有了spark,只要把資料和程式交給spark,它會機智地進行資料切分、演算法複製、分佈執行、結果合併。spark遮蔽了分佈平行計算的細節,讓我們可以快速開發分佈並行的應用。
二,基於資料集的計算框架
spark的計算正規化是資料集上的計算,在實用spark的時候,要按照spark的正規化寫演算法。Spark在資料集的層次上進行分佈平行計算,它只認成堆的資料。 提交給spark的任務,都必須滿足兩個條件:- 資料是可以分塊的,每塊構成一個集合。
- 演算法只能在集合級別執行操作。
比如,對於文字檔案,在Spark中,一行就是一條記錄,若干條記錄組成一個集合。我們 原來的演算法直接在每一行上進行計算,就不行了。需要先構建資料集,然後通過資料集的操作, 實現我們的目的。
所以,Spark是一種粗粒度、基於資料集的平行計算框架。