Spark GraphX

Spark GraphX,第1张

Spark GraphX

为什么需要图计算

        许多大数据以大规模图或网络的形式呈现

        许多非图结构的大数据,常会倍转换为图模型进行分析

        图数据结构很好的表达了数据之间的关联性

图(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的别名

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5679535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存