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

分享

用Spark做數(shù)據(jù)分析是怎樣一種體驗(yàn),?

 Purefact 2015-12-09



1
Spark的發(fā)展


Spark是伯克利大學(xué)2009年開始研發(fā)的一個(gè)項(xiàng)目,,于2010年開源。自從2013年Spark進(jìn)入Apache的孵化器項(xiàng)目后,,發(fā)生了翻天覆地的變化,。2014年初,Spark成為了Apache排名第三的頂級(jí)項(xiàng)目,,其發(fā)展勢(shì)頭更加迅猛,。Spark通常一個(gè)多月就會(huì)發(fā)布一個(gè)小版本,兩三個(gè)月左右會(huì)發(fā)布一個(gè)大版本,,目前最新版本為1.5.2,。2014年,Hadoop的四大商業(yè)機(jī)構(gòu)均宣稱全力支持Spark,今后將全面接收基于Spark編寫的數(shù)據(jù)挖掘與分析算法,,多家世界頂級(jí)的數(shù)據(jù)企業(yè)例如Google,,F(xiàn)acebook等現(xiàn)已紛紛轉(zhuǎn)向Spark框架。目前參與貢獻(xiàn)的公司也超過(guò)50家,;代碼庫(kù)也由原來(lái)的63000行增加到175000行,。圖1為截止到2014年的Spark代碼貢獻(xiàn)者每個(gè)月的增長(zhǎng)曲線。僅2014年,,在世界各地召開了多次以Spark為主題的峰會(huì),。這些足以說(shuō)明Spark的前沿性與火爆的發(fā)展勢(shì)頭。



圖1. 代碼貢獻(xiàn)曲線


近兩年,,Spark在中國(guó)的發(fā)展達(dá)到了一個(gè)前所未有的狀態(tài)和高度,。其中阿里巴巴的搜索和廣告業(yè)務(wù),最初使用Mahout和MapReduce來(lái)解決復(fù)雜的機(jī)器學(xué)習(xí)問(wèn)題,,但是在效率和代碼維護(hù)方面并不理想,,現(xiàn)已轉(zhuǎn)向Spark框架。淘寶技術(shù)團(tuán)隊(duì)使用Spark實(shí)現(xiàn)了多次迭代的機(jī)器學(xué)習(xí)算法和一些高計(jì)算復(fù)雜度的算法,,并將其運(yùn)用在推薦系統(tǒng)上,;同時(shí)還利用Spark中的一系列組件解決了基于最大連通圖的社區(qū)發(fā)現(xiàn)、基于三角形計(jì)數(shù)的關(guān)系衡量,、基于隨機(jī)游走的用戶屬性傳播等許多生產(chǎn)問(wèn)題,。此外,騰訊也是最早使用Spark的應(yīng)用之一,。借助Spark快速迭代的優(yōu)勢(shì),,騰訊提出了大數(shù)據(jù)精準(zhǔn)推薦,并采用“數(shù)據(jù) 算法 系統(tǒng)”這套技術(shù)方案支持每天上百億的請(qǐng)求量,。


2
Spark四大特性


特性一:快速


相同的實(shí)驗(yàn)環(huán)境與數(shù)據(jù)下,,在內(nèi)存中運(yùn)行相同的程序,Spark比MapReduce快約100倍,;在磁盤中運(yùn)行相同的程序,,Spark要MapReduce快約10倍。例如圖2所示,,Spark和MapReduce進(jìn)行邏輯回歸運(yùn)算后的實(shí)驗(yàn)數(shù)據(jù),。



圖2.基于內(nèi)存的邏輯回歸對(duì)比實(shí)驗(yàn)


針對(duì)于非常考驗(yàn)系統(tǒng)性能的排序問(wèn)題,,圖3是Spark與MapReduce對(duì)100TB數(shù)據(jù)樣本排序的實(shí)驗(yàn)結(jié)果:MapReduce用了2100臺(tái)機(jī)器,,花費(fèi)72分鐘;而Spark僅用207臺(tái)機(jī)器,,不到前者的1/10,,花費(fèi)23分鐘,接近前者的1/3。



圖3.基于硬盤的100T數(shù)據(jù)排序?qū)Ρ葘?shí)驗(yàn)


此外,,眾多實(shí)驗(yàn)表明,,在處理迭代式應(yīng)用上Spark比MapReduce快20多倍;計(jì)算數(shù)據(jù)分析類報(bào)表的性能提高了40多倍,;Spark能夠在5-7秒的延時(shí)內(nèi)交互式掃描1TB數(shù)據(jù)集,。


Spark運(yùn)行速度如此之快,主要得益于以下兩方面:一方面,,Spark中的運(yùn)算大多是基于內(nèi)存的,。Spark提出了一種分布式的內(nèi)存抽象,稱為彈性分布式數(shù)據(jù)集(RDD,,Resilient Distributed Datasets),。RDD支持基于工作集的應(yīng)用,同時(shí)具有數(shù)據(jù)流模型的特點(diǎn):自動(dòng)容錯(cuò),、位置感知調(diào)度和可伸縮性,。RDD允許用戶在執(zhí)行多個(gè)查詢時(shí)顯式地將工作集緩存在內(nèi)存中,后續(xù)的查詢能夠重用工作集,,這極大地提升了查詢速度,。另一方面,Spark從穩(wěn)定的物理存儲(chǔ)(如分布式文件系統(tǒng))中加載記錄,,記錄被傳入由一組確定性操作構(gòu)成的DAG,,然后寫回穩(wěn)定存儲(chǔ)。DAG數(shù)據(jù)流圖能夠在運(yùn)行時(shí)自動(dòng)實(shí)現(xiàn)任務(wù)調(diào)度和故障恢復(fù),。盡管非循環(huán)數(shù)據(jù)流是一種很強(qiáng)大的抽象方法,,但仍然有些應(yīng)用無(wú)法使用這種方式描述。Spark能夠在多個(gè)并行操作之間重用工作數(shù)據(jù)集,,適用于非循環(huán)數(shù)據(jù)流模型難以處理的應(yīng)用,。


特性二:易用


Spark編程非常高效、簡(jiǎn)潔,,支持多種語(yǔ)言的API,如Java, Scala, Python等,,而且代碼非常簡(jiǎn)潔,。例如在基于MapReduce開發(fā)的WordCount示例程序中,用戶需要重寫Map類和Reduce類,,雖然MapReduce類似八股文的程序編寫模式極大地簡(jiǎn)化了并行程序開發(fā)過(guò)程,,但是程序代碼至少幾十行。若基于Spark開發(fā)同樣的WordCount程序,,僅需下面短短的幾行代碼,,例如下面程序是對(duì)存儲(chǔ)在HDFS上的wc.input中的單詞個(gè)數(shù)進(jìn)行統(tǒng)計(jì):


sc.textFile('hdfs://master:8020/user/dong/spark/wc.input').flatMap(_.split('')).map((_,1)).reduceByKey(_ _).collect


由此可見,Spark編程非常簡(jiǎn)潔。這主要是因?yàn)镾park是基于Scala開發(fā),,其對(duì)數(shù)據(jù)處理提供了豐富的操作,,極大地提高了用戶的程序開發(fā)效率。


目前基于Spark的實(shí)際項(xiàng)目開發(fā)中約70%采用Scala語(yǔ)言,,這是因?yàn)镾park本身就是基于Scala開發(fā)的,;其次是JAVA,約占20%,;此外還有Python等,。


特性三:通用


相對(duì)與第一代的大數(shù)據(jù)生態(tài)系統(tǒng)Hadoop中的MapReduce,Spark 無(wú)論是在性能還是在方案的統(tǒng)一性方面,,都有著極大的優(yōu)越性,,雖然MapReduce在此方面也在做積極的努力,但Spark的優(yōu)勢(shì)還是明顯的,。Spark框架通常涉及到五個(gè)最核心的組件,。如圖4所示,位于下面的Apache Spark又稱為Spark Core,。在Spark Core的基礎(chǔ)上,,針對(duì)一些特殊的需求,Spark開發(fā)了一系列組件:Spark SQL(在Spark上建立是SQL,,類似于Hive),;Spark Streaming(實(shí)時(shí)流處理系統(tǒng));MLlib(用戶友好的機(jī)器學(xué)習(xí)庫(kù)),;GraphX(圖處理組件),,此外還有一個(gè)BlinkDB(基于海量數(shù)據(jù)的交互式查詢引擎,能夠在設(shè)定的誤差范圍內(nèi)或響應(yīng)時(shí)間內(nèi)進(jìn)行SQL查詢),。將這些組件放在一起,,就構(gòu)成了一個(gè)Spark的軟件棧?;谶@個(gè)軟件棧Spark提出并實(shí)現(xiàn)了一種理念“one stack to rule them all”,,即Spark可以對(duì)大數(shù)據(jù)進(jìn)行綜合處理:實(shí)時(shí)數(shù)據(jù)流處理、批處理和交互式查詢,。這一軟件棧就體現(xiàn)了Spark的通用性,。



圖4. Spark軟件棧


5. Spark對(duì)大數(shù)據(jù)的綜合處理示意圖


特性四:多種運(yùn)行模式


在運(yùn)行方面,Spark的運(yùn)行無(wú)處不在,。Spark既可以運(yùn)行本地local模式,,也可以以Standalone、cluster等多種模式運(yùn)行在Yarn,、Mesos上,,還可以運(yùn)行在云端例如EC2,。此外,Spark的數(shù)據(jù)來(lái)源非常廣泛,,可以處理來(lái)自HDFS,、HBase、 Hive,、Cassandra,、Tachyon上的各種類型的數(shù)據(jù)。


3
總結(jié)


Spark這套速度極快的內(nèi)存分析引擎與以往的大數(shù)據(jù)處理框架相比具有諸多優(yōu)勢(shì),,從而能夠輕松地為大數(shù)據(jù)應(yīng)用企業(yè)帶來(lái)理想的投資回報(bào),。Spark項(xiàng)目將一系列創(chuàng)新型思維帶入了大數(shù)據(jù)處理市場(chǎng),并且表現(xiàn)出極為強(qiáng)勁的發(fā)展勢(shì)頭,。近年來(lái),,人大經(jīng)濟(jì)論壇大數(shù)據(jù)分析團(tuán)隊(duì)針對(duì)Spark框架開展了廣泛深入的研究,并融入到大數(shù)據(jù)分析師的培訓(xùn)課程中,,使得整個(gè)課程體系變得更加完善,,我們相信,隨著整個(gè)團(tuán)隊(duì)的不斷努力,,CDA大數(shù)據(jù)分析師培訓(xùn)項(xiàng)目將日臻完美,。



工資要加劇——就學(xué)大數(shù)據(jù)


CDA大數(shù)據(jù)分析師大放干貨,8天周末班和三個(gè)月脫產(chǎn)班可以任性選擇

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多