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

下載本文檔

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

文檔簡介

Spark解析Spark

RDD每個Spark應用都是由一個driverprogram構成,該程序運行用戶的main函數(shù)Spark提供的一個主要抽象就是RDD(ResilientDistributedDatasets),這是一個分布在集群中多節(jié)點上的數(shù)據(jù)集合,利用內(nèi)存和磁盤作為存儲介質(zhì)RDD的設計目標是針對迭代式機器學習,每個RDD是只讀的、不可更改的創(chuàng)建RDD有兩種方式創(chuàng)建一個RDD在driver

program中并行化一個當前的數(shù)據(jù)集合利用一個外部存儲系統(tǒng)中的數(shù)據(jù)集合創(chuàng)建Spark與MapReduce的對比Spark作為新一代的大數(shù)據(jù)計算框架,針對的是迭代式計算、實時數(shù)據(jù)處理,要求處理的時間更少

在中間計算結果方面-Spark基本把數(shù)據(jù)存放在內(nèi)存中,只有在內(nèi)存資源不夠的時候才寫到磁盤等存儲介質(zhì)中;而MapReduce計算過程中Map任務產(chǎn)生的計算結果存放到本地磁盤中

在計算模型方面-Spark采用DAG圖描述計算任務,Spark擁有更豐富的功能;MapReduce則只采用Map和Reduce兩個函數(shù),計算功能比較簡單

在計算速度方面-

Spark的計算速度更快Spark與MapReduce的對比在容錯方面-Spark采用了和MapReduce類似的方式,針對丟失和無法引用的RDD,Spark采用利用記錄的transform,采取重新做已做過的transform

在計算成本方面-

Spark是把RDD主要存放在內(nèi)存存儲介質(zhì)中,則需要提供高容量的內(nèi)存;而MapReduce是面向磁盤的分布式計算框架,因此在成本考慮方面,Spark的計算成本高于MapReduce計算框架

在簡單易管理方面-

目前Spark也在同一個集群上運行流處理、批處理和機器學習,同時Spark也可以管理不同類型的負載。這些都是MapReduce做不到的

Spark工作機制開始深入探討Spark的內(nèi)部工作原理,具體包括Spark運行的DAG圖、Partition、容錯機制、緩存管理以及數(shù)據(jù)持久化DAG工作圖DAG是有向無環(huán)圖當用戶運行action操作的時候,Spark調(diào)度器檢查RDD的lineage圖,生成一個DAG圖RDD

DAG中還包括了寬依賴和窄依賴窄依賴是父節(jié)點RDD中的分區(qū)最多只被子節(jié)點RDD中的一個分區(qū)使用寬依賴是父節(jié)點RDD中的分區(qū)被子節(jié)點RDD中的多個子分區(qū)使用窄依賴和寬依賴Spark應用程序的執(zhí)行PartitionSpark執(zhí)行每次操作transformation都會產(chǎn)生一個新的RDD,每個RDD是Partition分區(qū)的集合在Spark中,操作的粒度是Partition分區(qū)當前支持的分區(qū)方式有hash分區(qū)和范圍(range)分區(qū)Lineage容錯方法在容錯方面有多種方式,包括數(shù)據(jù)復制以及記錄修改日志RDD本身是一個不可更改的數(shù)據(jù)集,Spark根據(jù)transformation和action構建它的操作圖DAG當執(zhí)行任務的Worker失敗時完全可以通過操作圖DAG獲得之前執(zhí)行的操作,進行重新計算針對RDD的widedependency,最有效的容錯方式同樣是采用checkpoint機制內(nèi)存管理分成了3塊獨立的區(qū)域,每塊區(qū)域的內(nèi)存容量是按照JVM堆大小的固定比例進行分配的

Execution

-在執(zhí)行shuffle、join、sort和aggregation時,Execution用于緩存中間數(shù)據(jù)

Storage

-

Storage主要用于緩存數(shù)據(jù)塊以提高性能,同時也用于連續(xù)不斷地廣播或發(fā)送大的任務結果

Other

-這部分內(nèi)存用于存儲運行系統(tǒng)本身需要加載的代碼與元數(shù)據(jù)數(shù)據(jù)持久化Spark最重要的一個功能是它可以通過各種操作(operations)持久化(或者緩存)一個集合到內(nèi)存中這個能力使后續(xù)的動作速度更快(通???0倍以上)。對應迭代算法和快速的交互使用來說,緩存是一個關鍵的工具用戶可以利用不同的存儲級別存儲每一個被持久化的RDD

數(shù)據(jù)的讀取Spark支持多種外部數(shù)據(jù)源來創(chuàng)建RDD,Hadoop支持的所有格式Spark都支持

HDFS

Amazon

S3

HBase應用案例日志挖掘-根據(jù)Tomcat日志計算URL訪問情況。區(qū)別于統(tǒng)計GET和POSTURL訪問量,其要求輸出結果(訪問方式、URL、訪問量)

應用案例判別西瓜好壞-西瓜分為好瓜和壞瓜,我們都希望購買到的西瓜是好的。這里給出判斷西瓜好壞的兩個特征,一個特征是西瓜的糖度,另外一個特征是西瓜的密度,這兩個數(shù)值都是0~1的小數(shù)基于西瓜的測試數(shù)據(jù)集來判斷西瓜的好壞使用MLib機器學習庫中提供的例子,采用GBT模型,訓練參數(shù)Spark的發(fā)展趨勢目前ApacheSpark社區(qū)非常活躍,并且以SparkRDD為核心,逐步形成了Spark

溫馨提示

  • 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

提交評論