Spark大數(shù)據(jù)分析 課件 1.2 Spark簡(jiǎn)介_(kāi)第1頁(yè)
Spark大數(shù)據(jù)分析 課件 1.2 Spark簡(jiǎn)介_(kāi)第2頁(yè)
Spark大數(shù)據(jù)分析 課件 1.2 Spark簡(jiǎn)介_(kāi)第3頁(yè)
Spark大數(shù)據(jù)分析 課件 1.2 Spark簡(jiǎn)介_(kāi)第4頁(yè)
Spark大數(shù)據(jù)分析 課件 1.2 Spark簡(jiǎn)介_(kāi)第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Spark簡(jiǎn)介目錄/Contents01Spark特性02Spark的歷史與發(fā)展01Spark組件Spark特性01Spark特性運(yùn)行速度快面向磁盤的MapReduce受限于磁盤讀/寫性能和網(wǎng)絡(luò)I/O性能的約束,在處理迭代計(jì)算、實(shí)時(shí)計(jì)算、交互式數(shù)據(jù)查詢等方面并不高效,但是這些卻在圖計(jì)算、數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)等相關(guān)應(yīng)用領(lǐng)域中非常常見(jiàn)。針對(duì)這一不足,將數(shù)據(jù)存儲(chǔ)在內(nèi)存中并基于內(nèi)存進(jìn)行計(jì)算是一個(gè)有效的解決途徑。易用性Spark不僅計(jì)算性能突出,在易用性方面也是其他同類產(chǎn)品難以比擬的。一方面,Spark提供了支持多種語(yǔ)言的API,如Scala、Java、Python、R等,使得用戶開(kāi)發(fā)Spark程序十分方便。另一方面,Spark是基于Scala語(yǔ)言開(kāi)發(fā)的,由于Scala是一種面向?qū)ο蟮摹⒑瘮?shù)式的靜態(tài)編程語(yǔ)言,其強(qiáng)大的類型推斷、模式匹配、隱式轉(zhuǎn)換等一系列功能結(jié)合豐富的描述能力使得Spark應(yīng)用程序代碼非常簡(jiǎn)潔。Spark的易用性還體現(xiàn)在其針對(duì)數(shù)據(jù)處理提供了豐富的操作。Spark特性通用性相對(duì)于第一代的大數(shù)據(jù)生態(tài)系統(tǒng)Hadoop中的MapReduce,Spark無(wú)論是在性能還是在方案的統(tǒng)一性方面,都有著極大的優(yōu)勢(shì)。Spark框架包含了多個(gè)緊密集成的組件,如圖1-5所示。位于底層的是SparkCore,其實(shí)現(xiàn)了Spark的作業(yè)調(diào)度、內(nèi)存管理、容錯(cuò)、與存儲(chǔ)系統(tǒng)交互等基本功能,并針對(duì)彈性分布式數(shù)據(jù)集提供了豐富的操作。在SparkCore的基礎(chǔ)上,Spark提供了一系列面向不同應(yīng)用需求的組件,主要有SparkSQL、SparkStreaming、MLlib、GraphX。支持多種資源管理器Spark不僅計(jì)算性能突出,在易用性方面也是其他同類產(chǎn)品難以比擬的。一方面,Spark提供了支持多種語(yǔ)言的API,如Scala、Java、Python、R等,使得用戶開(kāi)發(fā)Spark程序十分方便。另一方面,Spark是基于Scala語(yǔ)言開(kāi)發(fā)的,由于Scala是一種面向?qū)ο蟮摹⒑瘮?shù)式的靜態(tài)編程語(yǔ)言,其強(qiáng)大的類型推斷、模式匹配、隱式轉(zhuǎn)換等一系列功能結(jié)合豐富的描述能力使得Spark應(yīng)用程序代碼非常簡(jiǎn)潔。Spark的易用性還體現(xiàn)在其針對(duì)數(shù)據(jù)處理提供了豐富的操作。Spark的歷史與發(fā)展02Spark的歷史與發(fā)展Spark發(fā)展歷程:Spark在2009年由MateiZaharia在加州大學(xué)柏克萊分校AMPLab開(kāi)創(chuàng)2010年通過(guò)BSD許可協(xié)議開(kāi)源發(fā)布。2013年6月,該項(xiàng)目被捐贈(zèng)給Apache軟件基金會(huì)并切換許可協(xié)議至Apache2.0。2014年2月,Spark成為Apache的頂級(jí)項(xiàng)目。2014年11月,Databricks團(tuán)隊(duì)使用Spark刷新數(shù)據(jù)排序世界記錄。2014年5月底Spark1.0.0發(fā)布。2014年9月Spark1.1.0發(fā)布2014年12月Spark1.2.0發(fā)布...2016年1月4號(hào)Spark1.6.0發(fā)布...2016年6月26號(hào)Spark2.0發(fā)布...時(shí)至今日的2.2.0版本Spark組件03Spark組件相對(duì)于第一代的大數(shù)據(jù)生態(tài)系統(tǒng)Hadoop中的MapReduce,Spark無(wú)論是在性能還是在方案的統(tǒng)一性方面,都有著極大的優(yōu)勢(shì)。Spark框架包含了多個(gè)緊密集成的組件,如圖1-6所示。位于底層的是SparkCore,其實(shí)現(xiàn)了Spark的作業(yè)調(diào)度、內(nèi)存管理、容錯(cuò)、與存儲(chǔ)系統(tǒng)交互等基本功能,并針對(duì)彈性分布式數(shù)據(jù)集提供了豐富的操作。在SparkCore的基礎(chǔ)上,Spark提供了一系列面向不同應(yīng)用需求的組件,主要有SparkSQL、SparkStreaming、MLlib、GraphX。Spark軟件棧Spark組件SparkSQLSparkSQL是Spark用來(lái)操作結(jié)構(gòu)化數(shù)據(jù)的組件。通過(guò)SparkSQL,用戶可以使用SQL或者ApacheHive版本的SQL方言(HQL)來(lái)查詢數(shù)據(jù)。SparkSQL支持多種數(shù)據(jù)源類型,例如Hive表、Parquet以及JSON等。SparkSQL不僅為Spark提供了一個(gè)SQL接口,還支持開(kāi)發(fā)者將SQL語(yǔ)句融入到Spark應(yīng)用程序開(kāi)發(fā)過(guò)程中,無(wú)論是使用Python、Java還是Scala,用戶可以在單個(gè)的應(yīng)用中同時(shí)進(jìn)行SQL查詢和復(fù)雜的數(shù)據(jù)分析。由于能夠與Spark所提供的豐富的計(jì)算環(huán)境緊密結(jié)合,SparkSQL得以從其他開(kāi)源數(shù)據(jù)倉(cāng)庫(kù)工具中脫穎而出。SparkSQL在Sparkl.0中被首次引入。在SparkSQL之前,美國(guó)加州大學(xué)伯克利分校曾經(jīng)嘗試修改ApacheHive以使其運(yùn)行在Spark上,進(jìn)而提出了組件Shark。然而隨著SparkSQL的提出與發(fā)展,其與Spark引擎和API結(jié)合得更加緊密,使得Shark已經(jīng)被SparkSQL所取代。Spark組件SparkStreaming眾多應(yīng)用領(lǐng)域?qū)?shí)時(shí)數(shù)據(jù)的流式計(jì)算有著強(qiáng)烈的需求,例如網(wǎng)絡(luò)環(huán)境中的網(wǎng)頁(yè)服務(wù)器日志或是由用戶提交的狀態(tài)更新組成的消息隊(duì)列等,這些都是實(shí)時(shí)數(shù)據(jù)流。SparkStreaming是Spark平臺(tái)上針對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算的組件,提供了豐富的處理數(shù)據(jù)流的API。由于這些API與SparkCore中的基本操作相對(duì)應(yīng),因此開(kāi)發(fā)者在熟知Spark核心概念與編程方法之后,編寫SparkStreaming應(yīng)用程序會(huì)更加得心應(yīng)手。從底層設(shè)計(jì)來(lái)看,SparkStreaming支持與SparkCore同級(jí)別的容錯(cuò)性、吞吐量以及可伸縮性。Spark組件MLlibMLlib是Spark提供的一個(gè)機(jī)器學(xué)習(xí)算法庫(kù),其中包含了多種經(jīng)典、常見(jiàn)的機(jī)器學(xué)習(xí)算法,主要有分類、回歸、聚類、協(xié)同過(guò)濾等。MLlib不僅提供了模型評(píng)估、數(shù)據(jù)導(dǎo)入等額外的功能,還提供了一些更底層的機(jī)器學(xué)習(xí)原語(yǔ),包括一個(gè)通用的梯度下降優(yōu)化基礎(chǔ)算法。所有這些方法都被設(shè)計(jì)為可以在集群上輕松伸縮的架構(gòu)。Spark組件GraphXGraphX是Spark面向圖計(jì)算提供的框架與算法庫(kù)。GraphX中提出了彈性分布式屬性圖的概念,并在此基礎(chǔ)上實(shí)現(xiàn)了圖視圖與表視圖的有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論