图的基本概念以及Spark Graphx基本概念

一.图基本概念,术语以及表示方法

1.为什么需要图计算

  • 许多大数据以大规模图或网络的形式呈现
  • 许多非图结构的大数据,常会被转换为图模型进行分析
  • 图数据结构很好地表达了数据之间的关联性

2.图(Graph)的基本概念

(1)图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种网状数据结构

  • 通常表示为二元组:Gragh=(V,E)
  • 以对事物之间的关系建模

(2)应用场景

  • 在地图应用中寻找最短路径
  • 社交网络关系
  • 网页间超链接关系

3.图的术语

(1)顶点(Vertex)

(2)边(Edge)

在这里插入图片描述

Graph=(V,E)
集合V={v1,v2,v3}
集合E={(v1,v2),(v1,v3),(v2,v3)}

(3)有向图

在这里插入图片描述

G=(V,E)
V={A,B,C,D,E}
E={<A,B>,<B,C>,<B,D>,<C,E>,<D,A>,<E,D>}

(4)无向图

在这里插入图片描述

G=(V,E)
V={A,B,C,D,E}
E={(A,B),(A,D),(B,C),(B,D),(C,E),(D,E)}

(5)有环图

包含一系列顶点连接的回路(环路)

在这里插入图片描述

(6)无环图

DAG即为有向无环图

在这里插入图片描述

(7)度

一个顶点所有边的数量

(8)出度

指从当前顶点指向其他顶点的边的数量

(9)入度

其他顶点指向当前顶点的边的数量

在这里插入图片描述

示例:顶点11的度是5,入度是2,出度是3

4.图的经典表示法(邻接矩阵)

在这里插入图片描述

注:

  • 对于每条边,矩阵中相应单元格值为1
  • 对于每个循环,矩阵中相应单元格值为2,方便在行或列上求得顶点度数

二.Spark Graphx

1.Spark GraphX 简介

(1)Graphx是什么?

GraphX是Spark提供分布式图计算API

(2)Graphx特点

  • 基于内存实现了数据的复用与快速读取
  • 通过弹性分布式属性图(Property Graph)统一了图视图与表视图
  • 与Spark Streaming、Spark SQL和Spark MLlib等无缝衔接

2.GraphX核心抽象

弹性分布式属性图(Resilient Distributed Property Graph)

  • 顶点和边都带属性的有向多重图

  • 一份物理存储,两种视图
    在这里插入图片描述

对Graph视图的所有操作,最终都会转换成其关联的Table视图的RDD操作来完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值