大數(shù)據(jù)計算新貴Spark在騰訊雅虎優(yōu)酷成功應用解析

    為了滿足挖掘分析與交互式實時查詢的計算需求,騰訊大數(shù)據(jù)使用了Spark平臺來支持挖掘分析類計算、交互式實時查詢計算以及允許誤差范圍的快速查詢計算,目前騰訊大數(shù)據(jù)擁有**過200臺的Spark集群,并獨立維護Spark和Shark分支。Spark集群已穩(wěn)定運行2年,我們積累了大量的案例和運營經(jīng)驗能力,另外多個業(yè)務的大數(shù)據(jù)查詢與分析應用,已在陸續(xù)上線并穩(wěn)定運行。在SQL查詢性能方面普遍比MapReduce高出2倍以上,利用內(nèi)存計算和內(nèi)存表的特性,性能至少在10倍以上。在迭代計算與挖掘分析方面,精準推薦將小時和天級別的模型訓練轉變?yōu)镾park的分鐘級別的訓練,同時簡潔的編程接口使得算法實現(xiàn)比MR在時間成本和代碼量上高出許多。

    Spark VS MapReduce

    盡管MapReduce適用大多數(shù)批處理工作,并且在大數(shù)據(jù)時代成為企業(yè)大數(shù)據(jù)處理的可以選擇技術,但由于以下幾個限制,它對一些場景并不是較優(yōu)選擇:

    缺少對迭代計算以及DAG運算的支持
    Shuffle過程多次排序和落地,MR之間的數(shù)據(jù)需要落Hdfs文件系統(tǒng)
    Spark在很多方面都彌補了MapReduce的不足,比MapReduce的通用性較好,迭代運算效率較高,作業(yè)延遲較低,它的主要優(yōu)勢包括:

    提供了一套支持DAG圖的分布式并行計算的編程框架,減少多次計算之間中間結果寫到Hdfs的開銷
    提供Cache機制來支持需要反復迭代計算或者多次數(shù)據(jù)共享,減少數(shù)據(jù)讀取的IO開銷
    使用多線程池模型來減少task啟動開稍,shuffle過程中避免不必要的sort操作以及減少磁盤IO操作
    廣泛的數(shù)據(jù)集操作類型
    MapReduce由于其設計上的約束只適合處理離線計算,在實時查詢和迭代計算上仍有較大的不足,而隨著業(yè)務的發(fā)展,業(yè)界對實時查詢和迭代分析有更多的需求,單純依靠MapReduce框架已經(jīng)不能滿足業(yè)務的需求了。Spark由于其可伸縮、基于內(nèi)存計算等特點,且可以直接讀寫Hadoop上任何格式的數(shù)據(jù),成為滿足業(yè)務需求的較佳候選者。

    應用Spark的成功案例

    目前大數(shù)據(jù)在互聯(lián)網(wǎng)公司主要應用在廣告、報表、推薦系統(tǒng)等業(yè)務上。在廣告業(yè)務方面需要大數(shù)據(jù)做應用分析、效果分析、定向優(yōu)化等,在推薦系統(tǒng)方面則需要大數(shù)據(jù)優(yōu)化相關排名、個性化推薦以及熱點點擊分析等。

    這些應用場景的普遍特點是計算量大、效率要求高。Spark恰恰滿足了這些要求,該項目一經(jīng)推出便受到開源社區(qū)的廣泛關注和**。并在近兩年內(nèi)發(fā)展成為大數(shù)據(jù)處理領域較炙手可熱的開源項目。

    本章將列舉國內(nèi)外應用Spark的成功案例。

    1. 騰訊

    廣點通是較早使用Spark的應用之一。騰訊大數(shù)據(jù)精準推薦借助Spark快速迭代的優(yōu)勢,圍繞“數(shù)據(jù)+算法+系統(tǒng)”這套技術方案,實現(xiàn)了在“數(shù)據(jù)實時采集、算法實時訓練、系統(tǒng)實時預測”的全流程實時并行高維算法,較終成功應用于廣點通pCTR投放系統(tǒng)上,支持每天上百億的請求量。

    基于日志數(shù)據(jù)的快速查詢系統(tǒng)業(yè)務構建于Spark之上的Shark,利用其快速查詢以及內(nèi)存表等優(yōu)勢,承擔了日志數(shù)據(jù)的即席查詢工作。在性能方面,普遍比Hive高2-10倍,如果使用內(nèi)存表的功能,性能將會比Hive快百倍。

    2. Yahoo

    Yahoo將Spark用在Audience Expansion中的應用。Audience Expansion是廣告中尋找目標用戶的一種方法:首先廣告者提供一些觀看了廣告并且購買產(chǎn)品的樣本客戶,據(jù)此進行學習,尋找更多可能轉化的用戶,對他們定向廣告。Yahoo采用的算法是logistic regression。同時由于有些SQL負載需要較高的服務質量,又加入了專門跑Shark的大內(nèi)存集群,用于取代商業(yè)BI/OLAP工具,承擔報表/儀表盤和交互式/即席查詢,同時與桌面BI工具對接。目前在Yahoo部署的Spark集群有112臺節(jié)點,9.2TB內(nèi)存。

    3. 淘寶

    阿里搜索和廣告業(yè)務,較初使用Mahout或者自己寫的MR來解決復雜的機器學習,導致效率低而且代碼不易維護。淘寶技術團隊使用了Spark來解決多次迭代的機器學習算法、高計算復雜度的算法等。將Spark運用于淘寶的推薦相關算法上,同時還利用Graphx解決了許多生產(chǎn)問題,包括以下計算場景:基于度分布的**節(jié)點發(fā)現(xiàn)、基于較大連通圖的社區(qū)發(fā)現(xiàn)、基于三角形計數(shù)的關系衡量、基于隨機游走的用戶屬性傳播等。

    4. 優(yōu)酷土豆

    優(yōu)酷土豆在使用Hadoop集群的**問題主要包括:**是商業(yè)智能BI方面,分析師提交任務之后需要等待很久才得到結果;*二就是大數(shù)據(jù)量計算,比如進行一些模擬廣告投放之時,計算量非常大的同時對效率要求也比較高,最后就是機器學習和圖計算的迭代運算也是需要耗費大量資源且速度很慢。

    較終發(fā)現(xiàn)這些應用場景并不適合在MapReduce里面去處理。通過對比,發(fā)現(xiàn)Spark性能比MapReduce提升很多。首先,交互查詢響應快,性能比Hadoop提高若干倍;模擬廣告投放計算效率高、延遲?。ㄍ琱adoop比延遲至少降低一個數(shù)量級);機器學習、圖計算等迭代計算,大大減少了網(wǎng)絡傳輸、數(shù)據(jù)落地等,較大的提高的計算性能。目前Spark已經(jīng)廣泛使用在優(yōu)酷土豆的視頻推薦(圖計算)、廣告業(yè)務等。

    Spark與Shark的原理

    1.Spark生態(tài)圈

    如下圖所示為Spark的整個生態(tài)圈,較底層為資源管理器,采用Mesos、Yarn等資源管理集群或者Spark自帶的Standalone模式,底層存儲為文件系統(tǒng)或者其他格式的存儲系統(tǒng)如HBase。Spark作為計算框架,為上層多種應用提供服務。Graphx和MLBase提供數(shù)據(jù)挖掘服務,如圖計算和挖掘迭代計算等。Shark提供SQL查詢服務,兼容Hive語法,性能比Hive快3-50倍,BlinkDB是一個通過權衡數(shù)據(jù)精確度來提升查詢晌應時間的交互SQL查詢引擎,二者都可作為交互式查詢使用。Spark Streaming將流式計算分解成一系列短小的批處理計算,并且提供高可靠和吞吐量服務。

    2.Spark基本原理

    Spark運行框架如下圖所示,首先有集群資源管理服務(Cluster Manager)和運行作業(yè)任務的結點(Worker Node),然后就是每個應用的任務控制結點Driver和每個機器節(jié)點上有具體任務的執(zhí)行進程(Executor)。

    與MR計算框架相比,Executor有二個優(yōu)點:一個是多線程來執(zhí)行具體的任務,而不是像MR那樣采用進程模型,減少了任務的啟動開稍。二個是Executor上會有一個BlockManager存儲模塊,類似于KV系統(tǒng)(內(nèi)存和磁盤共同作為存儲設備),當需要迭代多輪時,可以將中間過程的數(shù)據(jù)先放到這個存儲系統(tǒng)上,下次需要時直接讀該存儲上數(shù)據(jù),而不需要讀寫到hdfs等相關的文件系統(tǒng)里,或者在交互式查詢場景下,事先將表Cache到該存儲系統(tǒng)上,提高讀寫IO性能。另外Spark在做Shuffle時,在Groupby,Join等場景下去掉了不必要的Sort操作,相比于MapReduce只有Map和Reduce二種模式,Spark還提供了較加豐富全面的運算操作如filter,groupby,join等。

    Spark采用了Scala來編寫,在函數(shù)表達上Scala有**的優(yōu)勢,因此在表達復雜的機器學習算法能力比其他語言較強且簡單易懂。提供各種操作函數(shù)來建立起RDD的DAG計算模型。把每一個操作都看成構建一個RDD來對待,而RDD則表示的是分布在多臺機器上的數(shù)據(jù)集合,并且可以帶上各種操作函數(shù)。如下圖所示:

    首先從hdfs文件里讀取文本內(nèi)容構建成一個RDD,然后使用filter()操作來對上次的RDD進行過濾,再使用map()操作**記錄的**個字段,最后將其cache在內(nèi)存上,后面就可以對之前cache過的數(shù)據(jù)做其他的操作。整個過程都將形成一個DAG計算圖,每個操作步驟都有容錯機制,同時還可以將需要多次使用的數(shù)據(jù)cache起來,供后續(xù)迭代使用。

    3.Shark的工作原理

    Shark是基于Spark計算框架之上且兼容Hive語法的SQL執(zhí)行引擎,由于底層的計算采用了Spark,性能比MapReduce的Hive普遍快2倍以上,如果是純內(nèi)存計算的SQL,要快5倍以上,當數(shù)據(jù)全部load在內(nèi)存的話,將快10倍以上,因此Shark可以作為交互式查詢應用服務來使用。

    上圖就是整個Shark的框架圖,與其他的SQL引擎相比,除了基于Spark的特性外,Shark是完全兼容Hive的語法,表結構以及UDF函數(shù)等,已有的HiveSql可以直接進行遷移至Shark上。

    與Hive相比,Shark的特性如下:

    1.以在線服務的方式執(zhí)行任務,避免任務進程的啟動和銷毀開稍,通常MapReduce里的每個任務都是啟動和關閉進程的方式來運行的,而在Shark中,Server運行后,所有的工作節(jié)點也隨之啟動,隨后以常駐服務的形式不斷的接受Server發(fā)來的任務。

    2.Groupby和Join操作不需要Sort工作,當數(shù)據(jù)量內(nèi)存能裝下時,一邊接收數(shù)據(jù)一邊執(zhí)行計算操作。在Hive中,不管任何操作在Map到Reduce的過程都需要對Key進行Sort操作。

    3.對于性能要求較高的表,提供分布式Cache系統(tǒng)將表數(shù)據(jù)事先Cache至內(nèi)存中,后續(xù)的查詢將直接訪問內(nèi)存數(shù)據(jù),不再需要磁盤開稍。

    4.還有很多Spark的特性,如可以采用Torrent來廣播變量和小數(shù)據(jù),將執(zhí)行計劃直接傳送給Task,DAG過程中的中間數(shù)據(jù)不需要落地到Hdfs文件系統(tǒng)。

    騰訊大數(shù)據(jù)Spark的概況

    騰訊大數(shù)據(jù)綜合了多個業(yè)務線的各種需求和特性,目前正在進行以下工作:

    1.經(jīng)過改造和優(yōu)化的Shark和Spark吸收了TDW平臺的功能,如Hive的特有功能:元數(shù)據(jù)重構,分區(qū)優(yōu)化等,同時可以通過IDE或者洛子調(diào)度來直接執(zhí)行HiveSql查詢和定時調(diào)度Spark的任務;

    2.與Gaia和TDW的底層存儲直接兼容,可以直接安全且高效地使用TDW集群上的數(shù)據(jù);

    3.對Spark底層的使用門檻,資源管理與調(diào)度,任務監(jiān)控以及容災等多個功能進行完善,并支持快速的遷移和擴容。

    北京慧思**投資咨詢有限責任公司專注于項目運營及償債能力分析報告,項目經(jīng)營收益權及償債能力綜合分析報告,項目資金管理實施細則,項目未來收益及債務履約能力評級,股權**及未來收益分析報告等

  • 詞條

    詞條說明

  • 如何讀財報——公司償債能力的各種率

    如何閱讀財務報告-公司償債能力的各種比率償付能力,即企業(yè)償還到期債務的承受能力或擔保程度,包括償還短期債務和長期債務的能力。簡單地說,借來的錢應該在到期時償還得起嗎?由于資產(chǎn)負債表包括 流動負債和 非流動負債,從 短期償付能力和 長期償付能力兩個方面分析償付能力:短期償付能力-償還流動負債,長期償付能力-償還非流動負債。1.短期償債能力流動比率=流動資產(chǎn)/流動負債該指標反映了企業(yè)的短期償債能力。速

  • 【股權**及未來收益分析報告】股權**分析及未來收益報告是?

    股權**分析及未來收益為每份配股權**,通過計算該數(shù)值可以知道公司給予股東配股的這一權利的**。配股權**=(配股除權股價-配股價格)÷認購每股新股需要的配股權數(shù)量。在股票市場中,只要投資者在配股股權登記日收盤時持有該股票,那么就自動享有配股權利,無須辦理登記手續(xù)。但是,在配股繳款期間投資者必須辦理繳款手續(xù),否則繳款期滿后配股權自動作廢。投資者可通過電話、網(wǎng)上交易等系統(tǒng)進行操作,配股款會從投資者的

  • 【項目運營及償債能力分析報告】償債資金來源有哪些?

    償債能力(debt-paying?ability)是指企業(yè)用其資產(chǎn)償還長期債務與短期債務的能力。企業(yè)有無支付現(xiàn)金的能力和償還債務能力,是企業(yè)能否健康生存和發(fā)展的關鍵。企業(yè)償債能力是反映企業(yè)財務狀況和經(jīng)營能力的重要標志。償債能力是企業(yè)償還到期債務的承受能力或保證程度,包括償還短期債務和長期債務的能力。企業(yè)償債能力,靜態(tài)的講,就是用企業(yè)資產(chǎn)清償企業(yè)債務的能力;動態(tài)的講,就是用企業(yè)資產(chǎn)和經(jīng)營過

  • 項目實施的風險管理

    項目風險是指可能導致項目損失的不確定性,雖然從來不可能完全消除項目風險,盡量減少較嚴重的問題也已足夠。一、項目風險有許多來源,你和團隊需要警惕的常見風險包括下面幾種:1、措施不足。不準確或不到位的成本和行動導致項目規(guī)劃不準確,并造成難以控制的高成本。2、日程壓力緊。期限過緊會導致質量下降、士氣低落、摩擦增加,甚至造成項目流產(chǎn)。3、管理不當。項目**人擅長技術工作,但拙于界定、規(guī)劃、評估、跟蹤、傳達

聯(lián)系方式 聯(lián)系我時,請告知來自八方資源網(wǎng)!

公司名: 北京慧思**投資咨詢有限責任公司

聯(lián)系人: 張主管

電 話: 010-58790521

手 機: 13520470633

微 信: 13520470633

地 址: 北京東城東直門東城區(qū)燈市口大街33號

郵 編:

網(wǎng) 址: sww123456.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過程,請自行甄別其真實性及合法性;
2、跟進信息之前,請仔細核驗對方資質,所有預付定金或付款至個人賬戶的行為,均存在詐騙風險,請?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 北京慧思**投資咨詢有限責任公司

聯(lián)系人: 張主管

手 機: 13520470633

電 話: 010-58790521

地 址: 北京東城東直門東城區(qū)燈市口大街33號

郵 編:

網(wǎng) 址: sww123456.b2b168.com

    相關企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費注冊 | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務| 匯款方式 | 商務洽談室 | 投訴舉報
粵ICP備10089450號-8 - 經(jīng)營許可證編號:粵B2-20130562 軟件企業(yè)認定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權登記:2013SR134025
Copyright ? 2004 - 2025 b2b168.com All Rights Reserved