什么是Spark

目錄
1.什么是Spark
2.為什么使用Spark
3.Spark的特點(diǎn)
4.Spark的體系架構(gòu)
5.Spark運(yùn)行機(jī)制及原理分析

1.什么是Spark牵舱?

????Spark是一種快速、通用勒奇、可擴(kuò)展的大數(shù)據(jù)分析引擎荔棉,2009年誕生于加州大學(xué)伯克利分校AMPLab到涂,2010年開源,2013年6月成為Apache孵化項(xiàng)目涤妒,2014年2月成為Apache頂級(jí)項(xiàng)目单雾。目前,Spark生態(tài)系統(tǒng)已經(jīng)發(fā)展成為一個(gè)包含多個(gè)子項(xiàng)目的集合,其中包含SparkSQL硅堆、Spark Streaming屿储、GraphX、MLlib等子項(xiàng)目渐逃,Spark是基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架够掠。Spark基于內(nèi)存計(jì)算,提高了在大數(shù)據(jù)環(huán)境下數(shù)據(jù)處理的實(shí)時(shí)性茄菊,同時(shí)保證了高容錯(cuò)性和高可伸縮性疯潭,允許用戶將Spark部署在大量廉價(jià)硬件之上,形成集群面殖。Spark得到了眾多大數(shù)據(jù)公司的支持竖哩,這些公司包括Hortonworks、IBM畜普、Intel期丰、Cloudera、MapR吃挑、Pivotal钝荡、百度、阿里舶衬、騰訊埠通、京東、攜程逛犹、優(yōu)酷土豆端辱。當(dāng)前百度的Spark已應(yīng)用于鳳巢、大搜索虽画、直達(dá)號(hào)舞蔽、百度大數(shù)據(jù)等業(yè)務(wù);阿里利用GraphX構(gòu)建了大規(guī)模的圖計(jì)算和圖挖掘系統(tǒng)码撰,實(shí)現(xiàn)了很多生產(chǎn)系統(tǒng)的推薦算法渗柿;騰訊Spark集群達(dá)到8000臺(tái)的規(guī)模,是當(dāng)前已知的世界上最大的Spark集群脖岛。

2.為什么要使用Spark朵栖?

(1)Hadoop的MapReduce計(jì)算模型存在的問題:
????MapReduce的核心是Shuffle(洗牌)。在整個(gè)Shuffle的過程中柴梆,至少會(huì)產(chǎn)生6次的I/O陨溅。下圖是MapReduce的Shuffle的過程。
????中間結(jié)果輸出:基于MapReduce的計(jì)算引擎通常會(huì)將中間結(jié)果輸出到磁盤上绍在,進(jìn)行存儲(chǔ)和容錯(cuò)门扇。另外雹有,當(dāng)一些查詢(如:Hive)翻譯到MapReduce任務(wù)時(shí),往往會(huì)產(chǎn)生多個(gè)Stage(階段)悯嗓,而這些串聯(lián)的Stage又依賴于底層文件系統(tǒng)(如HDFS)來存儲(chǔ)每一個(gè)Stage的輸出結(jié)果件舵,而I/O的效率往往較低,從而影響了MapReduce的運(yùn)行速度脯厨。

MapReduce的Shuffle

(2)Spark的最大特點(diǎn):基于內(nèi)存
????Spark是MapReduce的替代方案铅祸,而且兼容HDFS、Hive合武,可融入Hadoop的生態(tài)系統(tǒng)临梗,以彌補(bǔ)MapReduce的不足。

3.Spark的特點(diǎn):快稼跳、易用盟庞、通用、兼容性

(1)快
????與Hadoop的MapReduce相比汤善,Spark基于內(nèi)存的運(yùn)算速度要快100倍以上什猖,即使,Spark基于硬盤的運(yùn)算也要快10倍红淡。Spark實(shí)現(xiàn)了高效的DAG執(zhí)行引擎不狮,從而可以通過內(nèi)存來高效處理數(shù)據(jù)流。

(2)易用
????Spark支持Java在旱、Python和Scala的API摇零,還支持超過80種高級(jí)算法,使用戶可以快速構(gòu)建不同的應(yīng)用桶蝎。而且Spark支持交互式的Python和Scala的shell驻仅,可以非常方便地在這些shell中使用Spark集群來驗(yàn)證解決問題的方法。

(3)通用
????Spark提供了統(tǒng)一的解決方案登渣。Spark可以用于批處理噪服、交互式查詢(Spark SQL)、實(shí)時(shí)流處理(Spark Streaming)胜茧、機(jī)器學(xué)習(xí)(Spark MLlib)和圖計(jì)算(GraphX)芯咧。這些不同類型的處理都可以在同一個(gè)應(yīng)用中無縫使用。Spark統(tǒng)一的解決方案非常具有吸引力竹揍,畢竟任何公司都想用統(tǒng)一的平臺(tái)去處理遇到的問題,減少開發(fā)和維護(hù)的人力成本和部署平臺(tái)的物力成本邪铲。
????另外Spark還可以很好的融入Hadoop的體系結(jié)構(gòu)中可以直接操作HDFS芬位,并提供Hive on Spark、Pig on Spark的框架集成Hadoop带到。

(4)兼容性
????Spark可以非常方便地與其他的開源產(chǎn)品進(jìn)行融合昧碉。比如,Spark可以使用Hadoop的YARN和Apache Mesos作為它的資源管理和調(diào)度器,器被饿,并且可以處理所有Hadoop支持的數(shù)據(jù)四康,包括HDFS、HBase和Cassandra等狭握。這對(duì)于已經(jīng)部署Hadoop集群的用戶特別重要闪金,因?yàn)椴恍枰鋈魏螖?shù)據(jù)遷移就可以使用Spark的強(qiáng)大處理能力。Spark也可以不依賴于第三方的資源管理和調(diào)度器论颅,它實(shí)現(xiàn)了Standalone作為其內(nèi)置的資源管理和調(diào)度框架哎垦,這樣進(jìn)一步降低了Spark的使用門檻,使得所有人都可以非常容易地部署和使用Spark恃疯。此外漏设,Spark還提供了在EC2上部署Standalone的Spark集群的工具。

4.Spark集群的體系結(jié)構(gòu)
Spark集群的體系架構(gòu)1
Spark集群的體系架構(gòu)2
Spark集群的體系架構(gòu)3

(1)結(jié)構(gòu)
(a)Master:接收任務(wù)請(qǐng)求今妄,分發(fā)任務(wù)

(b)Worker:本節(jié)點(diǎn)任務(wù)調(diào)度郑口,資源管理。默認(rèn)占用該節(jié)點(diǎn)所有資源

  • Spark對(duì)內(nèi)存沒有很好管理盾鳞,容易出現(xiàn)OOM犬性。Spark把內(nèi)存管理交給應(yīng)用程序。
  • Spark架構(gòu)出現(xiàn)單點(diǎn)故障問題雁仲,通過HA解決仔夺。

(c)Driver:客戶端

(2)啟動(dòng)方式:
1)Spark-submit:
????用于提交Spark 任務(wù)。每個(gè)任務(wù)是一個(gè)jar攒砖。
2)spark-shell:
????類似于 REPL

5.Spark運(yùn)行機(jī)制及原理分析

(1).WordCount執(zhí)行的流程分析

WordCount執(zhí)行的流程

(2).Spark提交任務(wù)的流程


Spark提交任務(wù)的流程
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缸兔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吹艇,更是在濱河造成了極大的恐慌惰蜜,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件受神,死亡現(xiàn)場離奇詭異抛猖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鼻听,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門财著,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撑碴,你說我怎么就攤上這事撑教。” “怎么了醉拓?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵伟姐,是天一觀的道長收苏。 經(jīng)常有香客問我,道長愤兵,這世上最難降的妖魔是什么鹿霸? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮秆乳,結(jié)果婚禮上懦鼠,老公的妹妹穿的比我還像新娘。我一直安慰自己矫夷,他們只是感情好葛闷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著双藕,像睡著了一般淑趾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忧陪,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天扣泊,我揣著相機(jī)與錄音,去河邊找鬼嘶摊。 笑死延蟹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叶堆。 我是一名探鬼主播阱飘,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼虱颗!你這毒婦竟也來了沥匈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忘渔,失蹤者是張志新(化名)和其女友劉穎高帖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畦粮,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡散址,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宣赔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片预麸。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖儒将,靈堂內(nèi)的尸體忽然破棺而出吏祸,到底是詐尸還是另有隱情,我是刑警寧澤椅棺,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布犁罩,位于F島的核電站,受9級(jí)特大地震影響两疚,放射性物質(zhì)發(fā)生泄漏床估。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一诱渤、第九天 我趴在偏房一處隱蔽的房頂上張望丐巫。 院中可真熱鬧,春花似錦勺美、人聲如沸递胧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缎脾。三九已至,卻和暖如春占卧,著一層夾襖步出監(jiān)牢的瞬間遗菠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工华蜒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辙纬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓叭喜,卻偏偏與公主長得像贺拣,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捂蕴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355