GraphX編程指南

2018-02-23 16:25 更新

GraphX編程指南

GraphX是一個(gè)新的(alpha)Spark API,它用于圖和并行圖(graph-parallel)的計(jì)算。GraphX通過引入Resilient Distributed Property Graph:帶有頂點(diǎn)和邊屬性的有向多重圖,來擴(kuò)展Spark RDD。為了支持圖計(jì)算,GraphX公開一組基本的功能操作以及Pregel API的一個(gè)優(yōu)化。另外,GraphX包含了一個(gè)日益增長的圖算法和圖builders的集合,用以簡化圖分析任務(wù)。

從社交網(wǎng)絡(luò)到語言建模,不斷增長的規(guī)模和圖形數(shù)據(jù)的重要性已經(jīng)推動(dòng)了許多新的graph-parallel系統(tǒng)(如GiraphGraphLab)的發(fā)展。通過限制可表達(dá)的計(jì)算類型和引入新的技術(shù)來劃分和分配圖,這些系統(tǒng)可以高效地執(zhí)行復(fù)雜的圖形算法,比一般的data-parallel系統(tǒng)快很多。

data parallel vs graph parallel

然而,通過這種限制可以提高性能,但是很難表示典型的圖分析途徑(構(gòu)造圖、修改它的結(jié)構(gòu)或者表示跨多個(gè)圖的計(jì)算)中很多重要的stages。另外,我們?nèi)绾慰创龜?shù)據(jù)取決于我們的目標(biāo),并且同一原始數(shù)據(jù)可能有許多不同表和圖的視圖。

表和圖

結(jié)論是,圖和表之間經(jīng)常需要能夠相互移動(dòng)。然而,現(xiàn)有的圖分析管道必須組成graph-paralleldata- parallel系統(tǒng)`,從而實(shí)現(xiàn)大數(shù)據(jù)的遷移和復(fù)制并生成一個(gè)復(fù)雜的編程模型。

圖分析路徑

GraphX項(xiàng)目的目的就是將graph-paralleldata-parallel統(tǒng)一到一個(gè)系統(tǒng)中,這個(gè)系統(tǒng)擁有一個(gè)唯一的組合API。GraphX允許用戶將數(shù)據(jù)當(dāng)做一個(gè)圖和一個(gè)集合(RDD),而不需要數(shù)據(jù)移動(dòng)或者復(fù)制。通過將最新的進(jìn)展整合進(jìn)graph-parallel系統(tǒng),GraphX能夠優(yōu)化圖操作的執(zhí)行。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)