Spark學習之路 (二十七)圖簡介


一、圖

1.1 基本概念

圖是由頂點集合(vertex)及頂點間的關系集合(邊edge)組成的一種數據結構。

這里的圖並非指代數中的圖。圖可以對事物以及事物之間的關系建模,圖可以用來表示自然發生的連接數據,如:社交網絡、互聯網web頁面

常用的應用有:在地圖應用中找到最短路徑、基於與他人的相似度圖,推薦產品、服務、人際關系或媒體

二、術語

2.1 頂點和邊

一般關系圖中,事物為頂點,關系為邊

2.2 有向圖和無向圖

在有向圖中,一條邊的兩個頂點一般扮演者不同的角色,比如父子關系、頁面A連接向頁面B;

在一個無向圖中,邊沒有方向,即關系都是對等的,比如qq中的好友。

GraphX中有一個重要概念,所有的邊都有一個方向,那么圖就是有向圖,如果忽略邊的方向,就是無向圖。

2.3 有環圖和無環圖

有環圖是包含循環的,一系列頂點連接成一個環。無環圖沒有環。在有環圖中,如果不關心終止條件,算法可能永遠在環上執行,無法退出。

 

2.4 度、出邊、入邊、出度、入度

度表示一個頂點的所有邊的數量

出邊是指從當前頂點指向其他頂點的邊

入邊表示其他頂點指向當前頂點的邊

出度是一個頂點出邊的數量

入度是一個頂點入邊的數量

2.5 超步

圖進行迭代計算時,每一輪的迭代叫做一個超步

三、圖處理技術

圖處理技術包括圖數據庫、圖數據查詢、圖數據分析和圖數據可視化。

3.1 圖數據庫

Neo4j、Titan、OrientDB、DEX和InfiniteGraph等基於遍歷算法的、實時的圖數據庫;

3.2 圖數據查詢

對圖數據庫中的內容進行查詢

3.3 圖數據分析

Google Pregel、Spark GraphX、GraphLab等圖計算軟件。傳統的數據分析方法側重於事物本身,即實體,例如銀行交易、資產注冊等等。而圖數據不僅關注事物,還關注事物之間的聯系。例如,如果在通話記錄中發現張三曾打電話給李四,就可以將張三和李四關聯起來,這種關聯關系提供了與兩者相關的有價值的信息,這樣的信息是不可能僅從兩者單純的個體數據中獲取的。

3.4 圖數據可視化

OLTP風格的圖數據庫或者OLAP風格的圖數據分析系統(或稱為圖計算軟件),都可以應用圖數據庫可視化技術。需要注意的是,圖可視化與關系數據可視化之間有很大的差異,關系數據可視化的目標是對數據取得直觀的了解,而圖數據可視化的目標在於對數據或算法進行調試。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM