云計算及應(yīng)用課件:Spark_第1頁
云計算及應(yīng)用課件:Spark_第2頁
云計算及應(yīng)用課件:Spark_第3頁
云計算及應(yīng)用課件:Spark_第4頁
云計算及應(yīng)用課件:Spark_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

SPARKHow?What?Why?ApacheSparkWhen?WhatWhat不同于HadoopMapReduce的是Job中間輸出和結(jié)果可以保存在內(nèi)存中。Spark是一個通用的并行計算框架,由加州大學(xué)伯克利分校的AMP實驗室開發(fā)。Spark基于mapreduce算法模式實現(xiàn)的分布式計算,擁有HadoopMapReduce所具有的優(yōu)點。WhatWhenWhenWhenWhenWhenWhenApacheSpark組件圖Bagel(pregelonspark):Bagel是基于Spark的輕量級的Pregel(Pregel是Google鼎鼎有名的圖計算框架)的實現(xiàn)。HowShark(HiveonSpark):Shark基本上就是在Spark的框架基礎(chǔ)上提供和Hive一樣的HiveQL命令接口??梢岳斫鉃镾harkOnSpark,就是HiveOnHadoop,兩者地位是一樣的。Streaming(Spark):SparkStreaming是構(gòu)建在Spark上的處理實時數(shù)據(jù)的框架。其基本原理是將Stream數(shù)據(jù)分成小的時間片段(幾秒),以類似batch批處理的方式來處理小部分?jǐn)?shù)據(jù)。HowRDD(ResilientDistributedDataset)RDDsaremotivatedbytwotypesofapplicationsthatcurrentcomputingframeworkshandleinefficiently:iterativealgorithmsandinteractivedataminingtools.Althoughcurrentframeworksprovidenumerousabstractionsforaccessingacluster’scomputationalresources,theylackabstractionsforleveragingdistributedmemory.HowRDD(ResilientDistributedDataset)RDD是Spark的最基本抽象,是對分布式內(nèi)存的抽象使用,實現(xiàn)了以操作本地集合的方式來操作分布式數(shù)據(jù)集的抽象實現(xiàn)。RDD是Spark最核心的東西,它表示已被分區(qū),不可變的并能夠被并行操作的數(shù)據(jù)集合,不同的數(shù)據(jù)集格式對應(yīng)不同的RDD實現(xiàn)。RDD必須是可序列化的。RDD可以cache到內(nèi)存中,每次對RDD數(shù)據(jù)集的操作之后的結(jié)果,都可以存放到內(nèi)存中,下一個操作可以直接從內(nèi)存中輸入,省去了MapReduce大量的磁盤IO操作。這對于迭代運算比較常見的機器學(xué)習(xí)算法,交互式數(shù)據(jù)挖掘來說,效率提升比較大。HowRDD(ResilientDistributedDataset)-DefineRDD 1.read-only,partitioned

2.canonlycreatedthoughdeterministicoperationson ①datainstablestorage ②otherRDDs

3.RDDhasenoughinformationabouthowitwasderivedfromotherdatasets.(lineage血統(tǒng))

4.userscancontroltwootheraspectsofRDDs: ①persistence ②partitioning

HowRDD(ResilientDistributedDataset)-ProgramminginterfaceinSpark SparkexposeRDDthroughalanguage-integratedAPI eachdatasetisrepresentedasanobject.舉個例子WhySpark與Hadoop的對比-Spark的中間數(shù)據(jù)放到內(nèi)存中,對于迭代運算效率更高。Spark更適合于迭代運算比較多的機器學(xué)習(xí)(MachineLearning)和數(shù)據(jù)挖掘(DataMining)運算。因為在Spark里面,有RDD的抽象概念。-Spark比Hadoop更通用。Spark提供的數(shù)據(jù)集操作類型有很多種,不像Hadoop只提供了Map和Reduce兩種操作。比如map,filter,flatMap,sample,groupByKey,reduceByKey,union,join,cogroup,mapValues,sort,partionBy等多種操作類型,Spark把這些操作稱為Transformations。同時還提供Count,collect,reduce,lookup,save等多種actions操作。Spark通過提供豐富的Scala,Java,PythonAPI及交互式Shell來提高可用性。WhySpark立足于內(nèi)存計算,從而不再需要頻繁的讀寫HDFS,這使得Spark能更好的適用于:(1)迭代算法,包括大部分機器學(xué)習(xí)算法MachineLearning和比如PageRank的圖形算法。(2)交互式數(shù)據(jù)挖掘,用戶大部分情況都會大量重復(fù)的使用導(dǎo)入RAM的數(shù)據(jù)(R、Excel、python)(3)需要持續(xù)長時間維護狀態(tài)聚合的流式計算。Spark的適用場景:HowRDD(ResilientDistributedDataset)RDDswouldbelesssuitableforapplicationsthatma

溫馨提示

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

評論

0/150

提交評論