這篇文章主要介紹了Hadoop集群技術(shù)在優(yōu)酷土豆的應(yīng)用,包括其在大數(shù)據(jù)和推薦系統(tǒng)中為優(yōu)酷所起到的關(guān)鍵作用的介紹,需要的朋友可以參考下
為了更好的實(shí)現(xiàn)個性化視頻推薦,2009年,優(yōu)酷土豆開始使用Hadoop大數(shù)據(jù)平臺來進(jìn)行數(shù)據(jù)的分析及挖掘。起初整個平臺平臺只有十多個節(jié)點(diǎn),而到2012年集群節(jié)點(diǎn)已經(jīng)達(dá)到150個,2013年更是達(dá)到了300個。但是隨著數(shù)據(jù)量的急劇增加以及業(yè)務(wù)的迅猛發(fā)展,每天優(yōu)酷處理的數(shù)據(jù)量已突破200TB,優(yōu)酷土豆的技術(shù)人員發(fā)現(xiàn)一些場景并不適合利用MapReduce進(jìn)行處理。
優(yōu)酷土豆的大數(shù)據(jù)平臺已使用多年,核心業(yè)務(wù)數(shù)據(jù)量的增長與數(shù)據(jù)處理速度的失衡成為優(yōu)酷土豆Hadoop大數(shù)據(jù)平臺的一大瓶頸。這個問題主要表現(xiàn)在三個方面:首先,在BI方面,分析師提交任務(wù)后需要等待很久才得到結(jié)果。其次,在進(jìn)行一些模擬廣告投放之時,在調(diào)優(yōu)、篩選方面的計(jì)算量十分大,對計(jì)算效率的要求也較高,用Hadoop消耗資源過大而且響應(yīng)較慢。同時,MapReduce在機(jī)器學(xué)習(xí)和圖計(jì)算的迭代運(yùn)算方面不僅需要耗費(fèi)大量資源,處理速度也不盡人意。
優(yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊(duì)大數(shù)據(jù)平臺架構(gòu)師傅杰介紹道:“雖然很多互聯(lián)網(wǎng)企業(yè)都在用MapReduce來處理自己的業(yè)務(wù),但是由于優(yōu)酷的視頻量大概在2億的級別,視頻的關(guān)系量目前在10億的級別,這個級別的數(shù)據(jù)量利用MapReduce來計(jì)算CPU資源消耗比較高,而計(jì)算效率比較低,單純依靠MapReduce框架已經(jīng)無法滿足視頻推薦、廣告投放效果預(yù)估等情景對實(shí)時性和準(zhǔn)確性的要求?!?/P>
優(yōu)酷土豆如何打造Hadoop平臺
目前傅杰老師主要負(fù)責(zé)優(yōu)酷土豆集團(tuán)大數(shù)據(jù)基礎(chǔ)平臺建設(shè),以支撐集團(tuán)其他業(yè)務(wù)團(tuán)隊(duì)的存儲與計(jì)算需求,包含Hadoop平臺、日志采集系統(tǒng)、實(shí)時計(jì)算系統(tǒng)、消息系統(tǒng)以及天機(jī)鏡系統(tǒng)等。據(jù)了解,Hadoop平臺在優(yōu)酷的發(fā)展,主要有以下幾個階段:
平臺搭建期:這個階段主要解決一些技術(shù)問題,比如安全問題、整體規(guī)劃,以及制定相關(guān)流程;
平臺發(fā)展期:這個階段主要是在集團(tuán)內(nèi)部進(jìn)行推廣,伴隨著會遇到各種各樣的需求,以及解決各種各樣的問題,修正相關(guān)流程,使平臺進(jìn)入一個穩(wěn)定、高可用的水平;
平臺穩(wěn)定期:這個階段主要是從優(yōu)化資源入手,內(nèi)部培訓(xùn)調(diào)優(yōu)作業(yè),統(tǒng)計(jì)資源消耗合理性,構(gòu)建自動化優(yōu)化流程。
“現(xiàn)階段我們主要在調(diào)研Hadoop1.X 到Hadoop2.0的升級方案,預(yù)計(jì)明年初對Hadoop進(jìn)行升級。今年我們也搭建了基于Storm的實(shí)時計(jì)算平臺、kafka消息系統(tǒng),推廣到集團(tuán)的線上業(yè)務(wù)中,也逐步流程化的運(yùn)營起來了。”傅杰老師介紹說。
新手如何入門Hadoop?
據(jù)傅杰老師介紹,目前Hadoop在國內(nèi)有很好的發(fā)展態(tài)勢,各大企業(yè)對Hadoop的需求也比較旺盛,同時,應(yīng)用Hadoop的行業(yè)也越來越多。但目前存在的問題是,Hadoop的優(yōu)秀技術(shù)人才比較短缺。那么對于想踏入Hadoop領(lǐng)域的新手來說,應(yīng)如何入門呢?
傅杰老師給出的建議是:
1.經(jīng)常關(guān)注Hadoop官方網(wǎng)站;
2.深入了解Hadoop原理,比如HDFS、MapReduce。并思考目前所在企業(yè)哪些應(yīng)用可以用Hadoop解決;
3.閱讀Hadoop相關(guān)書籍。據(jù)悉,目前傅杰老師翻譯的《Hadoop實(shí)戰(zhàn)手冊》將在年底出版,這本書也很適合新手閱讀;
4.搭建環(huán)境實(shí)戰(zhàn),比如可以試著跑一個wordcount。
和英特爾一起Spark/Shark
為此,優(yōu)酷土豆在英特爾公司的幫助下率先嘗試了Spark/Shark內(nèi)存計(jì)算框架來解決多次迭代以及復(fù)雜的算法。以計(jì)算實(shí)力著稱的英特爾,在項(xiàng)目中在軟件優(yōu)化、方案設(shè)計(jì)、Scala語言培訓(xùn)等方面給優(yōu)酷土豆提供了多方面的幫助,以過硬的軟實(shí)力及對整個行業(yè)的深入洞察,與優(yōu)酷土豆的需求不謀而合。
作為典型的互聯(lián)網(wǎng)公司,優(yōu)酷土豆大數(shù)據(jù)平臺主要應(yīng)用在廣告、日常報表、推薦系統(tǒng)等核心業(yè)務(wù)上。隨著對低延時的、實(shí)時要求很高的應(yīng)用場景的增多,Spark/Shark在快速報表,交互式查詢,做Ad-hoc的查詢的表現(xiàn),機(jī)器學(xué)習(xí)以及迭代式算法方面的優(yōu)越性吸引了優(yōu)酷土豆。Spark/Shark可每次將彈性分布式數(shù)據(jù)集(RDD)操作之后的結(jié)果存入內(nèi)存中,下次操作可直接從內(nèi)存中讀取,省去了大量的磁盤IO,效率也大幅提升。
在瞬息萬變的互聯(lián)網(wǎng)市場,用戶的個性化需求越來越多,而將Spark/Shark集成到優(yōu)酷土豆原有的大數(shù)據(jù)平臺后,在用戶偏好分析、Top-N榜單計(jì)算等方面看到了喜人的變化。“與前幾年不同,為了更加精準(zhǔn)的為用戶做出視頻推薦,我們已經(jīng)不再是簡單的匹配視頻的元信息了。計(jì)算視頻與視頻之間的相似關(guān)系,我們用到了圖計(jì)算。利用圖計(jì)算,我們將搜集到的視頻圖譜做聚類,然后再推薦給用戶?!眱?yōu)酷土豆集團(tuán)大數(shù)據(jù)團(tuán)隊(duì)技術(shù)總監(jiān)盧學(xué)裕介紹道,“通過測試與對比,我們發(fā)現(xiàn),計(jì)算相同規(guī)模的數(shù)據(jù)量,以前在單機(jī)上實(shí)現(xiàn)需要80多分鐘,而在四臺節(jié)點(diǎn)的Spark集群上運(yùn)算時間縮短到了5.6分鐘?!?/P>
通過混搭的方式,Hadoop與Spark/Shark結(jié)合的架構(gòu)不僅使計(jì)算資源能夠更加協(xié)調(diào)的被利用,也完善了優(yōu)酷土豆的大數(shù)據(jù)分析,而重復(fù)視頻推薦、刷瀏覽量沖擊榜單的情況也減少了很多。作為國內(nèi)視頻行業(yè)第一家部署Spark/Shark解決方案的公司,優(yōu)酷土豆在Spark/Shark方面的經(jīng)驗(yàn)對整個視頻行業(yè)有突出的價值。未來,雙方也將繼續(xù)進(jìn)行深入合作,將整體方案進(jìn)一步優(yōu)化,并分享給更多行業(yè)合作伙伴,幫助他們更好的解決業(yè)務(wù)中面臨的大數(shù)據(jù)挑戰(zhàn)。