Spark GraphX
GraphX简介
- 主要特点
- 演化过程
- 应用场景
分布式图计算处理技术介绍
下面分别从图数据模型,图数据分割,图数据存储几个方面对常见的图数据分布与并行处理技术进行一个简单的介绍。
1. 属性图
Graphx的数据处理模型就是属性图。
属性图是由带有属性信息的节点和边构成的图,这些属性主要用来描述节点和边的特征。一个属性图,主要由定点和边构成,它具体包括:
- 顶点和顶点的属性集合
- 边和边的属性集合
2. 图数据的存储和划分
图存储有很多种,包括邻接矩阵,邻接表,十字链表。spark中采用的是机遇RDD的存储与设计。
分割:
- 提高子图内部的连通性,降低子图之间的连通性。
- 考虑子图规模的均衡性,尽量保证各个子图的数据规模均衡。
类型:
- 边分割
- 点分割
3. Pregel计算模型
- 读取输入初始化图
- 突出实话后,运行一系列超步,直到整个计算结束,超步间通过全局的同步点进行分割。
- 输出计算结果
4. GraphX图计算框架实现分析
- vertexRDD
- edgeRDD
- edge triplet
加载和构建
-
edgeListFile
-
apply
存储和分割
graphx采用定点分割的方法对图数据进行分割,旨在减少通信和存储代价。所谓定点分割分割就是图的彼岸分散在各个节点。而顶点则会跨界点存在。
目前有一下分割策略: