久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Spark基礎(chǔ)知識學(xué)習(xí)分享

 埃德溫會館 2014-12-06

一,、Spark基礎(chǔ)知識梳理

1.Spark是什么?
Spark是一個通用的并行計算框架,,由UCBerkeley的AMP實驗室開發(fā),。Spark基于map reduce 算法模式實現(xiàn)的分布式計算,擁有Hadoop MapReduce所具有的優(yōu)點,;但不同于Hadoop MapReduce的是Job中間輸出和結(jié)果可以保存在內(nèi)存中,,從而不再需要讀寫HDFS,節(jié)省了磁盤IO耗時,,號稱性能比Hadoop快100倍,。

2.Spark性能比Hadoop快原因分解:
(1)傳統(tǒng)Hadoop數(shù)據(jù)抽取運算模型是:

ps:數(shù)據(jù)的抽取運算基于磁盤,中間結(jié)果也是存儲在磁盤上,。MR運算伴隨著大量的磁盤IO,。
(2)Spark 則使用內(nèi)存代替了傳統(tǒng)HDFS存儲中間結(jié)果:

簡述:第一代的Hadoop完全使用Hdfs存儲中間結(jié)果,第二帶的Hadoop加入了cache來保存中間結(jié)果,。而Spark則基于內(nèi)存的中間數(shù)據(jù)集存儲??梢詫park理解為Hadoop的升級版本,,Spark兼容了Hadoop的API,并且能夠讀取Hadoop的數(shù)據(jù)文件格式,,包括HDFS,,Hbase等。

3.Spark架構(gòu)圖:

(1)Bagel(pregel on spark):Bagel是基于Spark的輕量級的Pregel(Pregel是Google鼎鼎有名的圖計算框架)的實現(xiàn),。

(2)Shark(Hive on Spark):Shark基本上就是在Spark的框架基礎(chǔ)上提供和Hive一樣的HiveQL命令接口,。可以理解為Shark On Spark,,就是Hive On Hadoop,,兩者地位是一樣的。ps:Shark可以通過UDF用戶自定義函數(shù)實現(xiàn)特定的數(shù)據(jù)分析學(xué)習(xí)算法,,使得SQL數(shù)據(jù)查詢和運算分析功能結(jié)合在一起(最大化RDD的重復(fù)使用),。

(3)Streaming(Spark):Spark Streaming是構(gòu)建在Spark上的處理實時數(shù)據(jù)的框架。其基本原理是將Stream數(shù)據(jù)分成小的時間片段(幾秒),,以類似batch批處理的方式來處理小部分?jǐn)?shù)據(jù),。

(4)RDD(Resilient Distributed Dataset,彈性分布式數(shù)據(jù)集):RDD是Spark操縱數(shù)據(jù)的一個高度抽象,,即Spark所操作的數(shù)據(jù)集都是包裝成RDD來進行操作的,,例如Spark可以兼容處理Hadoop的HDFS數(shù)據(jù)文件,那么這個HDFS數(shù)據(jù)文件就是包裝成Spark認識的RDD來完成數(shù)據(jù)抽取和處理的。RDD的一個英文定義是:RDDs are fault-tolerant, parallel data structures that let users explicitly persist intermediate results in memory, control their partitioning to optimize data placement, and manipulate them using a rich set of operators. 用我薄弱的英語能力翻譯一下就是:RDD是一個能夠讓用戶可以準(zhǔn)確的將中間結(jié)果數(shù)據(jù)持久化到內(nèi)存中的一個可用錯的并行數(shù)據(jù)結(jié)構(gòu),,可以控制(RDD數(shù)據(jù)集)分區(qū),,優(yōu)化數(shù)據(jù)存儲,并且有一組豐富的操作集可以操作這份數(shù)據(jù),。ps:RDD是Spark的一個核心抽象,,Spark的數(shù)據(jù)操作都是基于RDD來完成。

(5)Map Reduce:MR 是Spark可以支撐的運算模式,,比傳統(tǒng)的Hadoop MR的性能更好,,并且操作集更加豐富。Spark的MR計算引擎的架構(gòu)圖:

ps:圖中的FP不知道是什么,,誰知道可以告訴我一下哈,!

(6)Spark的運行模式:apache Mesos和YARN計算兩套資源管理框架,Spark最初設(shè)計就是跑在這兩個資源管理框架之上的,,至于Spark的本地運行模式和獨立運行模式則是方便了調(diào)試,。(至于圖中的EC2,應(yīng)該屬跑在亞馬遜云端的資源管理引擎上的吧,,我猜,?)。YARN資源管理框架也是Hadoop2.0的產(chǎn)物,,大大優(yōu)化了傳統(tǒng)Hadoop通過JobTracker和TaskTracker來調(diào)度計算任務(wù)的方式,,使集群更加平臺化,可以部署多中計算引擎,,比如傳統(tǒng)的Hadoop MR和Spark都可以跑在同一個集群上,,YARN這類資源管理框架出現(xiàn)之前是做不到的。

(7)Spark數(shù)據(jù)的存儲:Spark支持多種數(shù)據(jù)底層存儲,,這點比Hadoop支持的數(shù)據(jù)文件格式廣泛的多,。Spark可以兼容HDFS,Hbase,Amazon S3等多種數(shù)據(jù)集,,將這些數(shù)據(jù)集封裝成RDD進行操作,。

4.Spark照比傳統(tǒng)Hadoop MR的改進點:
(1)迭代運算,一次創(chuàng)建數(shù)據(jù)集,。多次使用,,減少了IO的開銷;(2)允許多種計算模型(包含map-reduce);(3)支持非OO式算法實現(xiàn),對機器學(xué)習(xí)算法,,圖計算能力有很好的支持,。

5.Spark的適用場景:
Spark立足于內(nèi)存計算,從而不再需要頻繁的讀寫HDFS,,這使得Spark能更好的適用于:
(1) 迭代算法,,包括大部分機器學(xué)習(xí)算法Machine Learning和比如PageRank的圖形算法,。
(2) 交互式數(shù)據(jù)挖掘,用戶大部分情況都會大量重復(fù)的使用導(dǎo)入RAM的數(shù)據(jù)(R,、Excel,、python)
(3) 需要持續(xù)長時間維護狀態(tài)聚合的流式計算。

二,、Hadoop YARN 基礎(chǔ)知識梳理

1.Yarn是什么:
Yarn (Hadoop MapReduceV2)是Hadoop 0.23.0版本后新的map-reduce框架或這更準(zhǔn)確的說是框架容器,。
架構(gòu)圖:

名詞解釋:
(1) ResourceManager:以下簡稱RM。YARN的中控模塊,,負責(zé)統(tǒng)一規(guī)劃資源的使用,。
ps:ResourceManager是YARN資源控制框架的中心模塊,負責(zé)集群中所有資源的統(tǒng)一管理和分配,。它接收來自NM的匯報,,建立AM,并將資源派送給AM,。
(2) NodeManager:以下簡稱MM,。YARN中的資源結(jié)點模塊,負責(zé)啟動管理container,。
(3) ApplicationMaster以下簡稱AM,。YARN中每個應(yīng)用都會啟動一個AM,負責(zé)向RM申請資源,,請求NM啟動container,,并告訴container做什么事情。
(4) Container:資源容器,。YARN中所有的應(yīng)用都是在container之上運行的。AM也是在container上運行的,,不過AM也是在Container上運行的,,不過AM的container是向RM申請的。

簡述:新一代的YARN容器框架,,是傳統(tǒng)的MR Hadoop容器框架的升級版本,,之前的MR部署架構(gòu)依賴于JobTracker和TaskTracker的交互模式,而新一代的YARN容器框架,,則采用了ResourceManager和NodeManager的交互模式,,更高層次的抽象和架構(gòu)設(shè)計,是的YARN容器框架能夠支撐多種計算引擎運行,,包括傳統(tǒng)的Hadoop MR和現(xiàn)在的比較新的SPARK,。

2.Hadoop YARN產(chǎn)生的背景:
(1)直接源于MRv1(傳統(tǒng)的Hadoop MR)如下幾個缺陷:
受限的擴展性;單點故障,;難以支持MR之外的計算,; (2)多計算框架各自為戰(zhàn),,數(shù)據(jù)共享困難。比如MR(離線計算框架),,Storm實時計算框架,,Spark內(nèi)存計算框架很難部署在同一個集群上,導(dǎo)致數(shù)據(jù)共享困難,。
簡述:Hadoop Yarn的出現(xiàn)則解決了上述問題,。

3.Hadoop 1.0到Hadoop 2.0(基于YARN)的演變:

簡述:hadoop2.0在傳統(tǒng)的MapReduce計算框架和存儲框架HDFS之間加了一個YARN層,使得集群框架可以支撐多中計算引擎,,包括上文中的SPARK,。

4.以Yarn為核心的Hadoop2.0生態(tài)系統(tǒng):

簡述:圖片簡單明了,不多說了,。

5.運行在YARN上的計算框架:
(1)離線計算框架:MapReduce
(2)DAG計算框架:Tez
(3)流式計算框架:Storm
(4)內(nèi)存計算框架:Spark
(5)圖計算框架:Giraph,,Graphlib

6.Spark On Yarn的調(diào)度管理:


7.傳統(tǒng)MapReduce 在YARN上的調(diào)度:

ps:梳理了一下Spark和YARN的基礎(chǔ)概念,初步了解一下哈,,細節(jié)部分有待深挖,!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多