百科創(chuàng)建
13.6K
3940

Spark計算引擎

為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎。

Spark計算引擎是美國加利福尼亞大學(xué)伯克利分校的算法、機(jī)器和人(algorithms machines and people,AMP)實驗室所開源的Hadoop映射-化簡(MapReduce)的通用并行框架。Spark擁有MapReduce所具有的優(yōu)點(diǎn),不同于MapReduce的是其工作中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS),因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce的算法。

Spark的核心概念是彈性分布式數(shù)據(jù)集(resilient distributed datasets,RDD)。從本質(zhì)上來說,RDD是分布式內(nèi)存的一個抽象概念,RDD提供了一種高度受限的共享內(nèi)存模型,即RDD是只讀的記錄分區(qū)的集合,只能通過在其他RDD執(zhí)行確定的轉(zhuǎn)換操作而創(chuàng)建,然而這些限制使得實現(xiàn)容錯的開銷很低。對開發(fā)者而言,RDD可以看作是Spark的一個對象,它本身運(yùn)行于內(nèi)存中,如讀文件是一個RDD,對文件計算是一個RDD,結(jié)果集也是一個RDD,不同的分片、數(shù)據(jù)之間的依賴、鍵值類型的映射數(shù)據(jù)都可以看作RDD。

Spark已經(jīng)形成了較為完整的生態(tài)圈,其中包括:Spark Core是Spark的核心應(yīng)用程序接口(application program interface,API),實現(xiàn)了很多基本的RDD轉(zhuǎn)換操作;Spark SQL是Spark針對結(jié)構(gòu)化數(shù)據(jù)的API,能夠使SQL對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)分析;Spark Streaming是Spark針對流數(shù)據(jù)的API,可以實現(xiàn)對大規(guī)模數(shù)據(jù)流以元組為單位低延遲的處理;Spark MLib是Spark針對機(jī)器學(xué)習(xí)任務(wù)的API,可以有效地進(jìn)行大規(guī)模迭代計算;Spark GraphX是Spark針對圖數(shù)據(jù)的API。

3940

免責(zé)聲明:本站詞條系由網(wǎng)友創(chuàng)建、編輯和維護(hù),內(nèi)容僅供參考。

以上內(nèi)容均為商業(yè)內(nèi)容展示,僅供參考,不具備專業(yè)問題解決服務(wù),

如果您需要解決具體問題(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域的專業(yè)人士。

如您發(fā)現(xiàn)詞條內(nèi)容涉嫌侵權(quán),請通過 948026894@qq.com 與我們聯(lián)系進(jìn)行刪除處理!

一秒推