Spark計(jì)算引擎
為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎。
Spark計(jì)算引擎是美國(guó)加利福尼亞大學(xué)伯克利分校的算法、機(jī)器和人(algorithms machines and people,AMP)實(shí)驗(yàn)室所開(kāi)源的Hadoop映射-化簡(jiǎn)(MapReduce)的通用并行框架。Spark擁有MapReduce所具有的優(yōu)點(diǎn),不同于MapReduce的是其工作中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫(xiě)Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS),因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce的算法。
Spark的核心概念是彈性分布式數(shù)據(jù)集(resilient distributed datasets,RDD)。從本質(zhì)上來(lái)說(shuō),RDD是分布式內(nèi)存的一個(gè)抽象概念,RDD提供了一種高度受限的共享內(nèi)存模型,即RDD是只讀的記錄分區(qū)的集合,只能通過(guò)在其他RDD執(zhí)行確定的轉(zhuǎn)換操作而創(chuàng)建,然而這些限制使得實(shí)現(xiàn)容錯(cuò)的開(kāi)銷(xiāo)很低。對(duì)開(kāi)發(fā)者而言,RDD可以看作是Spark的一個(gè)對(duì)象,它本身運(yùn)行于內(nèi)存中,如讀文件是一個(gè)RDD,對(duì)文件計(jì)算是一個(gè)RDD,結(jié)果集也是一個(gè)RDD,不同的分片、數(shù)據(jù)之間的依賴(lài)、鍵值類(lèi)型的映射數(shù)據(jù)都可以看作RDD。
Spark已經(jīng)形成了較為完整的生態(tài)圈,其中包括:Spark Core是Spark的核心應(yīng)用程序接口(application program interface,API),實(shí)現(xiàn)了很多基本的RDD轉(zhuǎn)換操作;Spark SQL是Spark針對(duì)結(jié)構(gòu)化數(shù)據(jù)的API,能夠使SQL對(duì)結(jié)構(gòu)化數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)分析;Spark Streaming是Spark針對(duì)流數(shù)據(jù)的API,可以實(shí)現(xiàn)對(duì)大規(guī)模數(shù)據(jù)流以元組為單位低延遲的處理;Spark MLib是Spark針對(duì)機(jī)器學(xué)習(xí)任務(wù)的API,可以有效地進(jìn)行大規(guī)模迭代計(jì)算;Spark GraphX是Spark針對(duì)圖數(shù)據(jù)的API。
免責(zé)聲明:本站詞條系由網(wǎng)友創(chuàng)建、編輯和維護(hù),內(nèi)容僅供參考。
以上內(nèi)容均為商業(yè)內(nèi)容展示,僅供參考,不具備專(zhuān)業(yè)問(wèn)題解決服務(wù),
如果您需要解決具體問(wèn)題(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域的專(zhuān)業(yè)人士。
如您發(fā)現(xiàn)詞條內(nèi)容涉嫌侵權(quán),請(qǐng)通過(guò) 948026894@qq.com 與我們聯(lián)系進(jìn)行刪除處理!