云計算與大數(shù)據(jù)技術 課件 第10章 Spark計算平臺_第1頁
云計算與大數(shù)據(jù)技術 課件 第10章 Spark計算平臺_第2頁
云計算與大數(shù)據(jù)技術 課件 第10章 Spark計算平臺_第3頁
云計算與大數(shù)據(jù)技術 課件 第10章 Spark計算平臺_第4頁
云計算與大數(shù)據(jù)技術 課件 第10章 Spark計算平臺_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Spark簡介與生態(tài)Spark簡介ApacheSpark是專門為大規(guī)模數(shù)據(jù)處理而設計的基于內(nèi)存的快速通用計算平臺。它是加州大學伯克利分校AMP(Algorithms,Machines,andPeopleLab)實驗室開發(fā)和開源的類HadoopMapReduce的通用并行框架,可以用來構建大型的、低延遲的數(shù)據(jù)分析應用程序。

Spark計算平臺Spark提供了一個全面、統(tǒng)一的框架,包括SparkSQL、SparkStreaming、SparkMLlib、SparkGraphX等技術組件,可以一站式地完成大數(shù)據(jù)領域的離線批處理、交互式查詢分析、流計算、機器學習、圖計算等常見的任務。Spark計算平臺的生態(tài)Spark生態(tài)圈以SparkCore為核心,可從HDFS、AmazonS3和HBase等持久層讀取數(shù)據(jù),以YARN、Mesos和自身攜帶的Standalone為ClusterManager調(diào)度任務Job完成Spark應用程序的計算。Spark的應用場景Spark適用于計算量大、效率要求高的應用場景;基于實時數(shù)據(jù)流的數(shù)據(jù)處理,延遲性要求為數(shù)百毫秒到數(shù)秒;基于歷史數(shù)據(jù)的交互式查詢,要求響應較快。例如,使用大數(shù)據(jù)分析來構建推薦系統(tǒng),進行個性化推薦、廣告定點投放等,這種應用場景的數(shù)據(jù)量大且需要進行邏輯復雜的批數(shù)據(jù)處理,對計算效率有較高的要求。Spark的應用場景Spark架構和部署模式Spark架構Spark架構包括集群資源管理器(ClusterManager)、運行作業(yè)任務的工作節(jié)點(WorkerNode)、每個應用的任務控制節(jié)點(Driver)和每個工作節(jié)點上負責具體任務的執(zhí)行進程(Executor)。Spark架構Spark支持多種集群資源管理器,自帶Standalone集群資源管理器、Mesos或YARN,系統(tǒng)默認采用YARN模式。Spark架構SparkApplication作為一系列獨立的進程運行在集群上,用戶使用SparkContext提供的API編寫DriverApplication,使用SparkContext提交任務給ClusterManager。SparkContext通過這些ClusterManager分配整個程序資源。只要能連接上任意一種ClusterManager,Spark就會獲得每個工作節(jié)點上的Executor。Spark的部署模式(1)Local模式

Local模式也稱單節(jié)點模式,用于在本地部署單個Spark服務。該模式常用于本地開發(fā)學習和測試,還分為Local和LocalCluster兩類。(2)Standalone模式

獨立集群運行模式。Spark原生的簡單集群資源管理器自帶完整的服務,可被單獨部署到一個集群中,無須依賴任何其他資源管理系統(tǒng)。Standalone模式采用Master/Slave的典型架構,為了解決單點故障問題,可以采用ZooKeeper實現(xiàn)高可靠性。Spark的部署模式(3)YARN模式:

使用Hadoop的YARN組件進行資源與任務調(diào)度。YARN模式根據(jù)Driver在集群中的位置分為兩種:一種是YARN-Client模式,另一種是YARN-Cluster模式。YARN-Client模式適用于交互與調(diào)試,YARN-Cluster適用于公司應用的生產(chǎn)環(huán)境。(4)Mesos模式:

Spark使用Mesos平臺進行資源與任務調(diào)度。Spark運行流程Spark運行流程無論Spark以何種模式進行部署,在提交Spark任務后,都會首先啟動Driver進程,并由Driver進程向資源管理器注冊應用程序,然后資源管理器會根據(jù)此任務的配置文件分配并啟動Executor。Spark運行流程當Driver所需的資源全部滿足后,Driver開始執(zhí)行main()函數(shù)。Spark查詢?yōu)閼袌?zhí)行或惰性操作,當執(zhí)行到Action操作時開始反向推算,根據(jù)寬依賴進行Stage劃分。每個Stage對應一個TaskSet(任務集),TaskSet中有多個Task,根據(jù)本地化原則,Task會被分發(fā)給指定的Executor執(zhí)行。Spark運行流程在任務執(zhí)行的過程中,Executor也會不斷地與Driver通信,報告任務運行情況。Spark的Job提交流程Spark任務調(diào)度Spark數(shù)據(jù)處理模型RDDRDD概念與特點RDD(ResilientDistributedDataset,彈性分布式數(shù)據(jù)集)是Spark中最基本的數(shù)據(jù)處理模型。RDD是一種有容錯機制的特殊數(shù)據(jù)集合,可以分布在集群的節(jié)點上,以函數(shù)式操作集合的方式進行各種并行操作。RDD概念與特點Spark中,對數(shù)據(jù)的操作主要包括創(chuàng)建RDD、轉(zhuǎn)換已有RDD和調(diào)用RDD進行求值。RDD包括兩種類型的操作,即Transformation操作和Action操作。RDD采用惰性求值,只有在執(zhí)行Action操作時,才會真正地進行運算。每次調(diào)用Action操作時,整個RDD都會從頭開始計算。RDD分區(qū)分區(qū)的概念RDD分區(qū)是指RDD內(nèi)部的數(shù)據(jù)集合在邏輯上和物理上被劃分成多個子集合。這樣的每個子集合被稱為分區(qū),即數(shù)據(jù)集的一個邏輯塊。RDD分區(qū)的作用RDD分區(qū)主要有兩方面的作用:一方面是增加并行度,另一方面是減少通信開銷。RDD概念與特點分區(qū)的原則分區(qū)的個數(shù)會對Spark性能有影響。RDD的分區(qū)原則是分區(qū)的個數(shù)盡可能等于集群中的CPU核心(Core)數(shù)目,以實現(xiàn)數(shù)據(jù)的并行計算。分區(qū)的原則分區(qū)的個數(shù)會對Spark性能有影響。RDD的分區(qū)原則是分區(qū)的個數(shù)盡可能等于集群中的CPU核心(Core)數(shù)目,以實現(xiàn)數(shù)據(jù)的并行計算。RDD基本操作Spark支持兩種RDD基本操作,即Transformation(轉(zhuǎn)換)和Action(行動)。Transformation操作是指將一個RDD通過一種規(guī)則映射為另一個RDD,該操作由RDD的轉(zhuǎn)換函數(shù)來實現(xiàn),即懶操作函數(shù),這些函數(shù)不觸發(fā)執(zhí)行,會返回另一個RDD。Action操作則主要是對RDD進行最后的操作,如遍歷、Reduce、保存到文件等,并且可以返回結果給Driver程序。RDD基本操作RDD基本操作的執(zhí)行過程Transformation操作Transformation操作主要用于根據(jù)已有RDD創(chuàng)建新的RDD,提供給下一個“轉(zhuǎn)換”算子使用。Action操作Action操作用于執(zhí)行計算并按指定的方式輸出結果。RDD基本操作RDD基本操作范例Spark與ScalaScala源自Java,構建在J

溫馨提示

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

評論

0/150

提交評論