Spark GraphX
GraphX簡介
- 主要特點
- 演化過程
- 應用場景
分布式圖計算處理技術介紹
下面分別從圖數(shù)據(jù)模型,圖數(shù)據(jù)分割位迂,圖數(shù)據(jù)存儲幾個方面對常見的圖數(shù)據(jù)分布與并行處理技術進行一個簡單的介紹框沟。
1. 屬性圖
Graphx的數(shù)據(jù)處理模型就是屬性圖擎淤。
屬性圖是由帶有屬性信息的節(jié)點和邊構成的圖肮砾,這些屬性主要用來描述節(jié)點和邊的特征脑漫。一個屬性圖髓抑,主要由定點和邊構成咙崎,它具體包括:
- 頂點和頂點的屬性集合
- 邊和邊的屬性集合
2. 圖數(shù)據(jù)的存儲和劃分
圖存儲有很多種优幸,包括鄰接矩陣,鄰接表褪猛,十字鏈表网杆。spark中采用的是機遇RDD的存儲與設計。
分割:
- 提高子圖內(nèi)部的連通性,降低子圖之間的連通性碳却。
- 考慮子圖規(guī)模的均衡性队秩,盡量保證各個子圖的數(shù)據(jù)規(guī)模均衡。
類型:
- 邊分割
- 點分割
3. Pregel計算模型
- 讀取輸入初始化圖
- 突出實話后昼浦,運行一系列超步馍资,直到整個計算結束,超步間通過全局的同步點進行分割关噪。
- 輸出計算結果
4. GraphX圖計算框架實現(xiàn)分析
- vertexRDD
- edgeRDD
- edge triplet
加載和構建
-
edgeListFile
-
apply
存儲和分割
graphx采用定點分割的方法對圖數(shù)據(jù)進行分割鸟蟹,旨在減少通信和存儲代價。所謂定點分割分割就是圖的彼岸分散在各個節(jié)點使兔。而頂點則會跨界點存在建钥。
目前有一下分割策略: