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