Spark 于 2009 年誕生于加州大學(xué)伯克利分校 AMPLab,2013 年被捐贈給 Apache 軟件基金會,2014 年 2 月成為 Apache 的頂級項(xiàng)目。相對于 MapReduce 的批處理計(jì)算,Spark 可以帶來上百倍的性能提升,因此它成為繼 MapReduce 之后,最為廣泛使用的分布式計(jì)算框架。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比永城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式永城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋永城地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
Apache Spark 具有以下特點(diǎn):
Term(術(shù)語) | Meaning(含義) |
---|---|
Application | Spark 應(yīng)用程序,由集群上的一個(gè) Driver 節(jié)點(diǎn)和多個(gè) Executor 節(jié)點(diǎn)組成。 |
Driver program | 主運(yùn)用程序,該進(jìn)程運(yùn)行應(yīng)用的 main() 方法并且創(chuàng)建 SparkContext |
Cluster manager | 集群資源管理器(例如,Standlone Manager,Mesos,YARN) |
Worker node | 執(zhí)行計(jì)算任務(wù)的工作節(jié)點(diǎn) |
Executor | 位于工作節(jié)點(diǎn)上的應(yīng)用進(jìn)程,負(fù)責(zé)執(zhí)行計(jì)算任務(wù)并且將輸出數(shù)據(jù)保存到內(nèi)存或者磁盤中 |
Task | 被發(fā)送到 Executor 中的工作單元 |
執(zhí)行過程:
Spark 基于 Spark Core 擴(kuò)展了四個(gè)核心組件,分別用于滿足不同領(lǐng)域的計(jì)算需求。
Spark SQL 主要用于結(jié)構(gòu)化數(shù)據(jù)的處理。其具有以下特點(diǎn):
Spark Streaming 主要用于快速構(gòu)建可擴(kuò)展,高吞吐量,高容錯(cuò)的流處理程序。支持從 HDFS,F(xiàn)lume,Kafka,Twitter 和 ZeroMQ 讀取數(shù)據(jù),并進(jìn)行處理。
Spark Streaming 的本質(zhì)是微批處理,它將數(shù)據(jù)流進(jìn)行極小粒度的拆分,拆分為多個(gè)批處理,從而達(dá)到接近于流處理的效果。
MLlib 是 Spark 的機(jī)器學(xué)習(xí)庫。其設(shè)計(jì)目標(biāo)是使得機(jī)器學(xué)習(xí)變得簡單且可擴(kuò)展。它提供了以下工具:
GraphX 是 Spark 中用于圖形計(jì)算和圖形并行計(jì)算的新組件。在高層次上,GraphX 通過引入一個(gè)新的圖形抽象來擴(kuò)展 RDD(一種具有附加到每個(gè)頂點(diǎn)和邊緣的屬性的定向多重圖形)。為了支持圖計(jì)算,GraphX 提供了一組基本運(yùn)算符(如: subgraph,joinVertices 和 aggregateMessages)以及優(yōu)化后的 Pregel API。此外,GraphX 還包括越來越多的圖形算法和構(gòu)建器,以簡化圖形分析任務(wù)。
更多大數(shù)據(jù)系列文章可以參見 GitHub 開源項(xiàng)目: 大數(shù)據(jù)入門指南