圖一:Hadoop中的數(shù)據(jù)傳送與共享,串行方式、復(fù)制以及磁盤IO等因素使得Hadoop集群在低延遲、實時計算方面表現(xiàn)有待改進(jìn)。

據(jù)悉,優(yōu)酷土豆的Hadoop大數(shù)據(jù)平臺是從2009年開始采用,最初只有10多個節(jié)點,2012年集群節(jié)點達(dá)到150個,2013年更是達(dá)到300個,每天處理數(shù)據(jù)量達(dá)到200TB。優(yōu)酷土豆鑒于Hadoop集群已經(jīng)逐漸勝任不了一些應(yīng)用,于是決定引入Spark/Shark內(nèi)存計算框架,以此來滿足圖計算迭代等的需求。

Spark是一個通用的并行計算框架,由伯克利大學(xué)的AMP實驗室開發(fā),Spark已經(jīng)成為繼Hadoop之后又一大熱門開源項目,目前已經(jīng)有英特爾等企業(yè)加入到該開源項目。

圖二:Spark內(nèi)存計算框架使得數(shù)據(jù)共享比網(wǎng)絡(luò)和磁盤快10倍到100倍。

“我們大數(shù)據(jù)平臺對快速需求的響應(yīng)延時,尤其是在商業(yè)智能BI以及產(chǎn)品研究分析等需要多次對大數(shù)據(jù)做Drill Down與Drill Up時,等待成了效率殺手。” 優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊技術(shù)總監(jiān)盧學(xué)裕表示。

用Spark/Shark完善大數(shù)據(jù)分析

目前大數(shù)據(jù)在互聯(lián)網(wǎng)公司主要應(yīng)用在廣告、報表、推薦系統(tǒng)等業(yè)務(wù)上。在廣告業(yè)務(wù)方面需要大數(shù)據(jù)做應(yīng)用分析、效果分析、定向優(yōu)化等,在推薦系統(tǒng)方面則需要大數(shù)據(jù)優(yōu)化相關(guān)排名、個性化推薦以及熱點點擊分析等。優(yōu)酷土豆屬于典型的互聯(lián)網(wǎng)公司,目前運(yùn)用大數(shù)據(jù)分析平臺的主要工作是運(yùn)營分析、機(jī)器學(xué)習(xí)、廣告定向優(yōu)化、搜索優(yōu)化等方面。

優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊技術(shù)總監(jiān)盧學(xué)裕表示:“優(yōu)酷土豆的大數(shù)據(jù)平臺已經(jīng)用了很多年,突出問題主要包括:第一是商業(yè)智能BI方面,公司的分析師提交任務(wù)之后需要等待很久才得到結(jié)果;第二就是大數(shù)據(jù)量計算,比如進(jìn)行一些模擬廣告投放之時,計算量非常大的同時對效率要求也比較高,用Hadoop消耗資源非常大而且響應(yīng)比較慢;最后就是機(jī)器學(xué)習(xí)和圖計算的迭代運(yùn)算也是需要耗費(fèi)大量資源且速度很慢。”

因此,面對復(fù)雜任務(wù)、交互式查詢以及流在線處理時,Hadoop與MapReduce并不適用。Spark/Shark這種內(nèi)存型計算框架則比較適合各種迭代算法和交互式數(shù)據(jù)分析,可每次將彈性分布式數(shù)據(jù)集(RDD)操作之后的結(jié)果存入內(nèi)存中,下次操作可直接從內(nèi)存中讀取,省去了大量的磁盤IO,效率也隨之大幅提升。優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊大數(shù)據(jù)平臺架構(gòu)師傅杰表示:“一些應(yīng)用場景并不適合在MapReduce里面去處理。通過對比,我們發(fā)現(xiàn)Spark性能比MapReduce提升很多。”

圖三:Spark/Shark內(nèi)存計算框架實時日志聚合處理。

“比如在圖計算方面,視頻與視頻之間存在的相似關(guān)系,這就構(gòu)成了一個圖譜,通過圖譜來做聚類,再給用戶做視頻推薦。” 優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊技術(shù)總監(jiān)盧學(xué)裕表示。

圖四:圖計算分析N度關(guān)聯(lián)算法示意圖。

優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊技術(shù)總監(jiān)盧學(xué)裕表示:“我們進(jìn)行過圖計算方面的測試,在4臺節(jié)點的Spark集群上用時只有5.6分鐘,而同規(guī)模的數(shù)據(jù)量,單機(jī)實現(xiàn)需要80多分鐘,并且內(nèi)存吃滿,單機(jī)無法實現(xiàn)Scale-Out,不能計算更大規(guī)模數(shù)據(jù)。”

“在今天,數(shù)據(jù)處理要求非???。比如優(yōu)酷土豆的一些客戶、廣告商往往臨時就需要看一下投放效果。所以在前端應(yīng)用不變的情況下,如果能更快的響應(yīng)市場的需要就變得很有競爭力。市場是瞬息萬變的,有一些分析結(jié)果也需要快速響應(yīng)成一個產(chǎn)品,Spark集成到數(shù)據(jù)平臺正能發(fā)揮這樣的效果。” 優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊大數(shù)據(jù)平臺架構(gòu)師傅杰補(bǔ)充道。

據(jù)了解,優(yōu)酷土豆采用Spark/Shark大數(shù)據(jù)計算框架得到了英特爾公司的幫助,起初優(yōu)酷土豆并不熟悉Spark以及Scala語言,英特爾幫助優(yōu)酷土豆設(shè)計出具體符合業(yè)務(wù)需求的解決方案,并協(xié)助優(yōu)酷土豆實現(xiàn)了該方案。此外,英特爾還給優(yōu)酷土豆的大數(shù)據(jù)團(tuán)隊進(jìn)行了Scala語言、Spark的培訓(xùn)等。

“優(yōu)酷土豆作為國內(nèi)視頻行業(yè)第一家商用部署Spark/Shark方案的公司,從視頻行業(yè)的多樣化分析角度來看是個非常好的方案。未來,英特爾將會繼續(xù)與優(yōu)酷土豆在Spark/Shark進(jìn)行合作,包括硬件配置的優(yōu)化以及整體方案的優(yōu)化等”英特爾(中國)有限公司銷售市場部互聯(lián)網(wǎng)及媒體行業(yè)企業(yè)客戶經(jīng)理李志輝介紹道。

未來:將Spark/Shark融入到Hadoop 2.0

對于大數(shù)據(jù)而言,Hadoop已經(jīng)構(gòu)建完成了較為完善的生態(tài)系統(tǒng),特別是Hadoop 2.0版本在今年推出之后,改善了諸多缺點。而Spark/Shark計算框架其實與Hadoop并不沖突,Spark現(xiàn)在已經(jīng)可以直接運(yùn)行在Yarn的框架之上,成為Hadoop生態(tài)系統(tǒng)之中不可或缺的成員。

圖五:Spark On Yarn 。

優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊大數(shù)據(jù)平臺架構(gòu)師傅杰表示:“目前Hadoop 2.0已經(jīng)發(fā)布了release版本,我們已經(jīng)啟動了對Hadoop 2.0的升級預(yù)演。這中間還涉及到我們在1.0版本上修改的一些特性需要遷移和驗證,我們希望做到在不影響業(yè)務(wù)的情況下實現(xiàn)平滑升級,預(yù)計在明年Q1完成升級。Hadoop 2.0將會是非常強(qiáng)大的,不再僅僅是MapReduce,還能融入Spark,能夠讓用戶可以根據(jù)數(shù)據(jù)處理應(yīng)用需求的不同來選擇合適的計算框架。”

分享到

shaolong

相關(guān)推薦