为什么需要图计算
许多大数据以大规模图或网络的形式呈现
许多非图结构的大数据,常会倍转换为图模型进行分析
图数据结构很好的表达了数据之间的关联性
图(Graph)的基本概念
图是由顶点集合(vertex)以及顶点间的关系集合(边edge)组成的一种网状数据结构
通常表示为二元组:Graph=(V,E)
可以对事物之间的关系建模
应用场景
在地图应用中寻找最短路径
社交网络关系
网页间超链接关系
图的术语
顶点(Vertex):V{v1,v2,v3}
边(Edge): E={(v1,v2),(v1,v3),(v2,v3)}
有向图:V={A,B,C,D}, E={,,,
无向图:V={A,B,C,D,E},E={(A,B),(A,D),(B,C),(B,D),(C,E),(D,E)}
有环图:包含一系列顶点连接的回路(环路)
无环图:DAG即为有向无环图
度:一个顶点所有边的数量
入度:其他顶点指向当前顶点的边的数量
出度:指从当前顶点指向其他顶点的边的数量
图的经典表示法
邻接矩阵
GraphX是Spark提供分布式图计算API
GraphX特点
基于内存实现了数据的复用与快速读取
通过d性分布式属性图(Property Graph)统一了图视图与表视图
与Spark Streaming、Spark SQL和Spark MLlib等无缝衔接
GraphX核心抽象
d性分布式属性图(Resilient Distributed Property Graph)
顶点和边都带属性的有向多重图
一份物理存储,两种视图
对Graph视图的所有 *** 作,最终都会转换成其关联的Table视图的RDD *** 作来完成
GraphX API
Graph[VD,ED]
VertexRDD[VD]
EdgeRDD[ED]
EdgeTriplet[VD,ED]
Edge:样例类
VertexId:Long的别名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)