網易大資料平台的Spark技術實踐

來源:互聯網
上載者:User

標籤:分享   初步   層級   結合   執行   查詢系統   分布式   並行計算   nbsp   

網易大資料平台的Spark技術實踐作者 王健宗 網易的即時計算需求

對於大多數的大資料而言,即時性是其所應具備的重要屬性,資訊的到達和擷取應滿足即時性的要求,而資訊的價值需在其到達那刻展現才能利益最大化,例如電商網站,網站推薦系統期望能即時根據顧客的點擊行為分析其購買意願,做到精準營銷。

即時計算指標對唯讀(Read Only)資料進行即時資料的擷取和計算,也可以成為線上計算,線上計算的即時層級分為三類:Real-Time(msec/sec級)、Near Real-Time(min/hours)以及Batch(days)。 在批處理方面,MapReduce(MR)已經證明其為最有效工具,隨著MR的開源實現Hadoop為代表的大資料分析技術的普及,其在大處理方面的能 力已經得到認可,但是它更適用於對叢集上大資料的批處理,並不適用於即時處理大規模流資料。為了滿足即時性的要求,基於資料倉儲所構建的StreamCompute和即時性計 算架構也不斷湧現,相關圍繞MR的即時性最佳化技術也蓬勃發展,比較代表性的系統Google Dremel、Twitter Storm以及Yahoo S4等。

大資料的應用類型主要分為:批處理(Batch Processing)和流處理(Stream Processing)兩方面。批處理是先儲存後處理(Store-Then-Process),流處理是直接處理(Straight-Through- Processing),為提高商業智慧的反映時間,目前廣泛所採取的大資料處理架構,例如MR和Dryad所面向的主要是大規模資料分析,以批處理計算 為主,其即時性需求得不到滿足。常用的應用有線上推薦、網頁點擊分析、感測網路、交通分析以及金融中的高頻交易,對即時分析處理(Real Time Analytic Processing, RTAP)的需求越來顯著,網易公司作為國內最大的門戶網站之一,即時性也是公司目前互連網產品所應具備的重要屬性。

網易大資料Spark技術應用

Spark技術代表未來資料處理的新方向,Spark是UC Berkeley AMP lab開源的類Hadoop MapReduce的通用並行計算架構,Spark基於MapReduce實現分散式運算,擁有Hadoop MapReduce具有的優點。不同於MapReduce的是,Job中間輸出和結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好 地適用於資料採礦與機器學習等需要迭代的MapReduce的演算法。

在網易大資料平台中,資料存放區在HDFS之後,提供Hive的資料倉儲計算和查詢,要提高資料處理的效能並達到即時層級,網易公司採用的是 Impala和Shark結合的混合即時技術。Cloudera Impala是基於Hadoop的即時檢索引擎開源項目,其效率比Hive提高3-90倍,其本質是Google Dremel的模仿,但在SQL功能上青出於藍勝於藍。Shark是基於Spark的SQL實現,Shark可以比 Hive 快40倍(其論文所描述), 如果執行機器學習程式,可以快 25倍,並完全和Hive相容。

圖1和圖2分別測試的計算能力和即時查詢效能經過初步測試,在網易的即時計算平台,在大資料即時查詢系統中,Impala在資料處理方面的速度可以 相比HIVE達到3倍到30倍的加速比,Shark可以相比HIVE達到 1.5到15倍的加速比,相比較Impala和Shark引擎,通常Impala會比Shark快一倍,這裡可能會引出思考,既然Impala即時性如此 好,為何還需要Shark呢?

在設計大資料平台的時候,我們發現Impala效能不錯,但是其對舊Hive的資料不相容,因為目前的大資料應用中很多都是Hive的組織方式,而 Shark可以完全相容舊的資料,因此在目前的資料結構中必須採用混合的資料處理模式。Hive和Impala會協同存在一段時間, Hive主要為Predefined Queries,並主要處理批處理相關作業,而Impala則處理互動的查詢(AD-HOC Queries),使得大資料系統既支援OLTP,也支援OLAP,以達到即時分析處理(Real Time Analytic Processing, RTAP)的水平。

圖1 網易大資料平台效能測試(Count/Sum/Avg操作)

圖2網易大資料平台效能測試(Join/Ad-hoc查詢操作)

總結

如果要評價2012到2013年度IT業界熱詞,非“大資料”一詞莫屬。ROI(Return On Investment)投資報酬率已經演化為Return On Information,資訊的回報率成為互連網公司的一個重要指標,如果所掌握的海量資料都是一堆“垃圾”,沒有金礦去挖掘,那大資料也無從談起,而提 高ROI的一個重要屬性就是即時性,提高資料的反應時間需要技術做支撐和保障,網易作為中國頂尖的互連網公司之一,在大資料方面也是最早的先行者,特別實 時計算技術方面,公司很早就開始採用最新的技術來提供服務,例如Impala和Shark等,不難發現,網易的大資料系統可以靈活的選擇計算即時引擎,總體上系統在即時處理方面的能力可以提升2到15倍,這對於提升公司的生產效率有顯著成效,在後續的工作中期望可以進一步提升即時層級,目前只能做到秒級, 能否達到毫秒級甚至微秒層級是將來的一個研發方向,總之對于海量資料計算、即時性方面有強烈需求的公司應用落地Spark是很好的選擇。

參考資料

[1] Storm Distributed and fault-tolerant real time computation

[2] Leonardo Neumeyer, Bruce Robbins, Anish Nair, Anand Kesari. S4: Distributed Stream Computing Platform. 2010 IEEE International Conference on Data Mining Workshops (ICDMW).

[3] Cloudera Impala https://github.com/cloudera/impala

Reynold S. Xin, Josh Rosen, et al. Shark: SQL and rich analytics at scale. SIGMOD Conference 2013.

網易大資料平台的Spark技術實踐

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.