999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Spark的圖計算框架:GraphX

2017-05-12 09:22:48孫海
現(xiàn)代計算機 2017年9期
關鍵詞:優(yōu)勢用戶

孫海

(四川大學計算機學院,成都 610065)

Spark的圖計算框架:GraphX

孫海

(四川大學計算機學院,成都 610065)

Spark是UC Berkeley AMP Lab所開源的類Hadoop MapReduce的通用并行框架,是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎,在如今的大數(shù)據(jù)環(huán)境下,Spark所發(fā)揮的作用正越來越大。介紹Spark的圖計算框架GraphX。

Spark;并行;大數(shù)據(jù);GraphX

1 Spark生態(tài)圈介紹

Spark生態(tài)圈即BDAS(伯克利數(shù)據(jù)分析棧)包含了 Spark Core、Spark Streaming、Spark SQL、MLLib和GraphX等組件,其中Spark Core提供內(nèi)存計算、Spark Streaming主要處理實時應用、Spark SQL提供及時查詢、MLLib的機器學習和GraphX的圖處理,它們都是由AMP實驗室提供,能夠無縫地集成并提供一站式解決平臺[1]。

圖1

GraphX是Spark中用于圖的并行計算的模塊,可以認為是GraphLab和Pregel在Spark上的重寫及優(yōu)化,與其他分布式圖計算框架相比,GraphX具有的優(yōu)勢在于,它是依附于Spark之上的,天然的具備了Spark的一些特點,并且它提供了數(shù)據(jù)的一棧式解決方案,可以非常快速且有效地完成一整套圖計算的流水作業(yè)。GraphX是Spark生態(tài)中的非常重要的組件,融合了圖并行計算以及數(shù)據(jù)并行計算的優(yōu)勢,雖然在單純的計算階段的性能相比不如GraphLab等計算框架,但是如果從整個圖處理流水線的視角(圖構建,圖合并,最終結果的查詢)看,那么性能就非常具有優(yōu)勢了。流水作業(yè)處理過程如圖2所示。

圖2

2 屬性圖

在GraphX中,圖的點和邊都帶有屬性,而且這種屬性圖擁有Table和Graph兩種視圖,但是只有一份物理存儲。Table視圖將圖看成Vertex Property Table和Edge Property Table等的組合,這些Table繼承了Spark RDD的API[2]。具體說明如圖3所示:

圖3

可知點和邊都帶有屬性,在實際應用中,我們可以根據(jù)需求自定義點和邊的屬性,從而更好地解決我們的問題。Graph視圖上包括了reverse/subgraph/mapV(E)/mrTriplets等操作,這些操作可以使我們更加靈活地對目標圖進行一系列的操作。

GraphX的這種屬性圖的特質(zhì)帶來了如下的好處:

點分割:graphX存儲圖的方式為點分割方式。這種存儲圖方式與傳統(tǒng)圖計算框架不同的是,不同的機器有可能存儲相同的點,但是任何一條邊只會出現(xiàn)在一臺機器上。所以當點被分割到不同機器上時,會是相同的鏡像,有一個點是作為主點(master),其他的點作為虛擬點(ghost)。之所以這樣設計,是因為當出現(xiàn)點的數(shù)據(jù)發(fā)生變化時,首先要做的是更新該點的master的數(shù)據(jù),然后該點的ghost所在的機器接受該點所有更新好的數(shù)據(jù),更新該點的虛擬點。這樣做的好處是對于某個點與它的鄰居的交互操作,只要滿足結合律和交換律,極大地節(jié)省了操作消耗,并且可以保證在邊的存儲上是沒有冗余的。例如求鄰居權重的和,求點的所有邊的條數(shù)這樣的操作,可以在不同的機器上并行進行,然后對其進行匯總,這樣做可以減少網(wǎng)絡開銷。

Join Elimination:例如在PageRank計算中,一個點值的更新只跟鄰居點的值有關,而跟該點本身的值無關,那么在mrTriplets計算中,就不需要Vertex Table和Edge Table的3-way join,而只需要2-way join。

Caching for Iterative mrTriplets&Indexing Active Edges:在算法迭代的后期,只有較少的點有更新,因此對沒有更新的點使用local cached能夠大幅度降低通信所耗。

3 GraphX所支持的算法

在最新版本的Spark2.1.0中,GraphX包含了一系列的圖計算的算法來簡化用戶對圖分析的工作[3],具體情況如圖4所示,其中的數(shù)字表示該模塊在源碼中的代碼量。

圖4

由上圖可知,GraphX對圖計算的算法支持性較好,既包括了像PageRank這樣的經(jīng)典算法,也涵蓋類SVD、K-core等主流的圖計算算法,可以基本滿足用戶對圖計算的要求。

如同Spark一樣,GraphX的Graph類提供了豐富的圖運算符,大致結構如圖5所示。

圖5

GraphX在Spark 1.3.1改變了部分用戶正在使用API:

(1)為了改進性能,引入了一個新版的 mapReduceTriplets稱為aggregateMessages,它取先前返回信息從mapReduceTriplets通過一個回調(diào) EdgeContext而不是通過返回值。我們正在遺棄mapReduceTriplets,鼓勵用戶查閱過度指南。

(2)在spark1.0和1.1,EdgeRDD的簽名切換從EdgeRDD[ED]到EdgeRDD[ED,VD]來進行一些緩存優(yōu)化。我們已經(jīng)發(fā)現(xiàn)了一個更加優(yōu)雅的解決方案,恢復了簽名到更加自然地EdgeRDD[ED]類型。

4 GraphX的應用

隨著智能化手機的普遍應用,我們也處在了一個信息化的時代,人們每天的衣食住行都可以產(chǎn)生大量的數(shù)據(jù)。國內(nèi)外一些互聯(lián)網(wǎng)公司為了更好地了解消費者的消費習慣,從而提高經(jīng)濟效益,所以人類行為產(chǎn)生的海量數(shù)據(jù)就被應用到了廣告、報表、推薦系統(tǒng)等這些業(yè)務上。這些應用場景的普遍特點是效率要求高、計算量大。其中涉及大量的圖計算。GraphX對于這種情況具有天然的優(yōu)勢,因為它依附于并行化處理框架Spark之上,自然地就擁有Spark處理大數(shù)據(jù)的優(yōu)勢;同時GraphX自己就包含了很多關于圖計算的算法,其屬性圖的特質(zhì)可以使用戶自定義點和邊的屬性,極大地提高了圖的效率。

阿里巴巴旗下的天貓和淘寶兩大平臺的廣告和搜索業(yè)務最開始為了解決一些復雜的機器學習上的一些問題,使用的是機器學習框架Mahout,但這樣做的后果是代碼不易維護且效率低下。在使用了Spark中的GraphX模塊來挖掘用戶商品關系的生產(chǎn)問題時,取得了較好的結果。同時在商品推薦、社區(qū)發(fā)現(xiàn),關系挖掘、基于三角形計數(shù)的關系衡量、基于隨機游走的用戶屬性傳播等[4]方面表現(xiàn)良好。

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

合一集團下的優(yōu)酷土豆最開始在進行廣告投放和商業(yè)智能BI方面的技術所用的是Hadoop,最開始也能滿足商業(yè)上的需求,但隨著視頻會員的不斷增長以及廣告類型的多樣化,海量的數(shù)據(jù)運算就對Hadoop帶來了很大的壓力。在廣告投放這一塊,優(yōu)酷土豆的廣告技術部門使用了GraphX來進行圖計算,實際生產(chǎn)中發(fā)現(xiàn)集群相較于使用Hadoop時壓力陡然減小。在對比Spark和 Hadoop的性能時可以發(fā)現(xiàn),Spark要比Hadoop高出100倍左右,同時Spark提供了諸多模塊來適應不同的需求,可以很好地滿足工業(yè)生產(chǎn)需求。

綜上所述,Spark在如今的互聯(lián)網(wǎng)公司中應用較為廣泛,而GraphX更是在公司的核心業(yè)務上發(fā)揮著舉足輕重的作用。可以預見,在大數(shù)據(jù)時代下,GraphX必將擁有更加輝煌的明天。

5 結語

本文詳細介紹了Spark的圖計算框架GraphX,使我們對GraphX有了一個較為清楚的認識。同其他圖計算框架相比,GraphX在計算、圖優(yōu)化和性能方面都具有一定的優(yōu)勢。同時,GraphX依附于Spark之上,其計算引擎提供了強大的計算接口,方便了編程,可以很容易地實現(xiàn)PageRank等圖算法。其在一些互聯(lián)網(wǎng)公司的應用也很廣泛,是一種圖計算比較好的計算框架。

[1]黎文陽.大數(shù)據(jù)處理模型Apache Spark研究[J].現(xiàn)代計算機:專業(yè)版,2015(3):55-60.

[2]Xin R S,Crankshaw D,Dave A,et al.GraphX:Unifying Data-Parallel and Graph-Parallel Analytics[J].Computer Science,2014.

[3]陳虹君.Spark框架的GraphX算法研究[J].電腦知識與技術,2015(1):75-77.

[4]黃明,吳煒.快刀初試:Spark GraphX在淘寶的實踐[J].程序員,2014(8):98-103.

Spark's Graph Calculation Framework:GraphX

SUN Hai
(College of Computer Science,Sichuan University,Chengdu 610065)

Spark is a generic parallel framework for the open source Hadoop MapReduce from UC Berkeley AMP Lab,a fast and versatile computing engine designed for large-scale data processing.In today′s big data environment,Spark′s role is growing.Introduces Spark′s graph calculation framework GraphX.

Spark;Parallel;Big Data;GraphX

18212

1007-1423(2017)09-0120-04

10.3969/j.issn.1007-1423.2017.09.027

孫海(1991-),男,碩士,研究方向為大數(shù)據(jù)

2017-02-21

2017-03-10

猜你喜歡
優(yōu)勢用戶
優(yōu)勢 等
矮的優(yōu)勢
趣味(語文)(2020年3期)2020-07-27 01:42:46
畫與話
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
發(fā)揚優(yōu)勢 有所作為
Camera360:拍出5億用戶
100萬用戶
如何獲取一億海外用戶
主站蜘蛛池模板: 日韩毛片在线播放| 青青操国产视频| 久久亚洲中文字幕精品一区| 国产99在线观看| 久久国产精品国产自线拍| 国产精品视频猛进猛出| 亚洲视频四区| 亚洲精品777| 亚洲高清无在码在线无弹窗| 亚洲无码电影| 久久精品这里只有精99品| 91精品国产91久无码网站| 国产h视频免费观看| 国产精品护士| 天堂成人在线| 日本一本在线视频| 国产高颜值露脸在线观看| 久久性视频| 色欲色欲久久综合网| 日本久久久久久免费网络| 在线观看亚洲精品福利片| 免费一级毛片完整版在线看| 久久国产毛片| 亚洲精品少妇熟女| 日韩AV无码一区| 欧美日韩国产成人在线观看| 国产精品无码作爱| 国产精品女熟高潮视频| 无码不卡的中文字幕视频| 午夜精品一区二区蜜桃| 国产av无码日韩av无码网站| 91综合色区亚洲熟妇p| 538国产视频| 亚洲视频四区| av午夜福利一片免费看| av在线无码浏览| 18禁黄无遮挡免费动漫网站| 欧美色图第一页| 国产成人亚洲毛片| 欧洲日本亚洲中文字幕| 亚洲自偷自拍另类小说| 国产第二十一页| 亚洲日本中文字幕乱码中文| 91色爱欧美精品www| 露脸一二三区国语对白| 欧美激情第一欧美在线| 免费看美女自慰的网站| 999精品免费视频| 亚洲中文字幕23页在线| 婷婷色狠狠干| 一级毛片高清| 日韩毛片免费| 日韩在线网址| 国产精品一区二区国产主播| 五月天久久综合国产一区二区| 欧洲一区二区三区无码| 国产午夜无码专区喷水| 一级爱做片免费观看久久| 亚洲最新在线| 粗大猛烈进出高潮视频无码| 亚洲最新在线| 欧美色视频在线| 国产精品原创不卡在线| 国内精品一区二区在线观看| 99re精彩视频| 国产女人喷水视频| 国产精彩视频在线观看| 免费无码AV片在线观看中文| 青青操视频在线| 中文字幕人妻无码系列第三区| 欧美精品v| 一本大道视频精品人妻| 92精品国产自产在线观看| 国产乱人激情H在线观看| 97国产精品视频自在拍| 91亚洲精选| 无码免费试看| 国产丝袜一区二区三区视频免下载| 欧美日韩午夜| 日本亚洲欧美在线| 好吊妞欧美视频免费| 日韩av电影一区二区三区四区|