大數據計算新貴SPARK在騰訊雅虎優酷成功應用解析
park作為Apache頂級的開源項目,項目主頁見http://spark.apache.org。在迭代計算,交互式查詢計算以及批量流計算方面都有相關的子項目,如Shark、Spark Streaming、MLbase、GraphX、SparkR等。從13年起Spark開始舉行了自已的Spark Summit會議,會議網址見http://spark-summit.org。Amplab實驗室單獨成立了獨立公司Databricks來支持Spark的研發。
為了滿足挖掘分析與交互式實時查詢的計算需求,騰訊大數據使用了Spark平臺來支持挖掘分析類計算、交互式實時查詢計算以及允許誤差范圍的快速查詢計算,目前騰訊大數據擁有超過200臺的Spark集群,并獨立維護Spark和Shark分支。Spark集群已穩定運行2年,我們積累了大量的案例和運營經驗能力,另外多個業務的大數據查詢與分析應用,已在陸續上線并穩定運行。在SQL查詢性能方面普遍比MapReduce高出2倍以上,利用內存計算和內存表的特性,性能至少在10倍以上。在迭代計算與挖掘分析方面,精準推薦將小時和天級別的模型訓練轉變為Spark的分鐘級別的訓練,同時簡潔的編程接口使得算法實現比MR在時間成本和代碼量上高出許多。
Spark VS MapReduce
盡管MapReduce適用大多數批處理工作,并且在大數據時代成為企業大數據處理的首選技術,但由于以下幾個限制,它對一些場景并不是最優選擇:
Spark在很多方面都彌補了MapReduce的不足,比MapReduce的通用性更好,迭代運算效率更高,作業延遲更低,它的主要優勢包括:
MapReduce由于其設計上的約束只適合處理離線計算,在實時查詢和迭代計算上仍有較大的不足,而隨著業務的發展,業界對實時查詢和迭代分析有更多的需求,單純依靠MapReduce框架已經不能滿足業務的需求了。Spark由于其可伸縮、基于內存計算等特點,且可以直接讀寫Hadoop上任何格式的數據,成為滿足業務需求的最佳候選者。
應用Spark的成功案例
目前大數據在互聯網公司主要應用在廣告、報表、推薦系統等業務上。在廣告業務方面需要大數據做應用分析、效果分析、定向優化等,在推薦系統方面則需要大數據優化相關排名、個性化推薦以及熱點點擊分析等。
這些應用場景的普遍特點是計算量大、效率要求高。Spark恰恰滿足了這些要求,該項目一經推出便受到開源社區的廣泛關注和好評。并在近兩年內發展成為大數據處理領域最炙手可熱的開源項目。
本章將列舉國內外應用Spark的成功案例。
1. 騰訊
廣點通是最早使用Spark的應用之一。騰訊大數據精準推薦借助Spark快速迭代的優勢,圍繞“數據+算法+系統”這套技術方案,實現了在“數據實時采集、算法實時訓練、系統實時預測”的全流程實時并行高維算法,最終成功應用于廣點通pCTR投放系統上,支持每天上百億的請求量。
基于日志數據的快速查詢系統業務構建于Spark之上的Shark,利用其快速查詢以及內存表等優勢,承擔了日志數據的即席查詢工作。在性能方面,普遍比Hive高2-10倍,如果使用內存表的功能,性能將會比Hive快百倍。
2. Yahoo
Yahoo將Spark用在Audience Expansion中的應用。Audience Expansion是廣告中尋找目標用戶的一種方法:首先廣告者提供一些觀看了廣告并且購買產品的樣本客戶,據此進行學習,尋找更多可能轉化的用戶,對他們定向廣告。Yahoo采用的算法是logistic regression。同時由于有些SQL負載需要更高的服務質量,又加入了專門跑Shark的大內存集群,用于取代商業BI/OLAP工具,承擔報表/儀表盤和交互式/即席查詢,同時與桌面BI工具對接。目前在Yahoo部署的Spark集群有112臺節點,9.2TB內存。
3. 淘寶
阿里搜索和廣告業務,最初使用Mahout或者自己寫的MR來解決復雜的機器學習,導致效率低而且代碼不易維護。淘寶技術團隊使用了Spark來解決多次迭代的機器學習算法、高計算復雜度的算法等。將Spark運用于淘寶的推薦相關算法上,同時還利用Graphx解決了許多生產問題,包括以下計算場景:基于度分布的中樞節點發現、基于最大連通圖的社區發現、基于三角形計數的關系衡量、基于隨機游走的用戶屬性傳播等。
4. 優酷土豆
優酷土豆在使用Hadoop集群的突出問題主要包括:第一是商業智能BI方面,分析師提交任務之后需要等待很久才得到結果;第二就是大數據量計算,比如進行一些模擬廣告投放之時,計算量非常大的同時對效率要求也比較高,最后就是機器學習和圖計算的迭代運算也是需要耗費大量資源且速度很慢。
最終發現這些應用場景并不適合在MapReduce里面去處理。通過對比,發現Spark性能比MapReduce提升很多。首先,交互查詢響應快,性能比Hadoop提高若干倍;模擬廣告投放計算效率高、延遲小(同hadoop比延遲至少降低一個數量級);機器學習、圖計算等迭代計算,大大減少了網絡傳輸、數據落地等,極大的提高的計算性能。目前Spark已經廣泛使用在優酷土豆的視頻推薦(圖計算)、廣告業務等。
推薦文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩定
產品高可用性高并發貼心
項目群及時溝通專業
產品經理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽堅持
10年專注高端品質開發