介绍分布式图处理系统–Pregel以及其开源实现–Giraph
图数据处理简介
图数据的应用
图数据
- 数据本身以图的形式呈现
- 社交网络
- 传染病传播途径
- 交通路网
- 某些非图结构的数据,也可以转换为图模型后进行处理
- 网页链接
- 机器学习训练数据
关联性分析
- 图数据结构表达了数据之间的关联性
- 通过获得数据的关联性,抽取有用的信息
- 购物通过为购物者之间的关系建模,就能很快找到口味相似的用户,并为之推荐商品
- 图在社交网络中,通过传播关系发现意见领袖
图数据处理解决方案
- 使用单机的图算法库
- BGL、LEAD、NetworkX、JDSL、StandfordGraphBase和FGL等
- 如何运行大规模的图?
- 单机算法实现相应的分布式
- 通用性不好,每个算法都需要重写
- 并行图计算系统
- Parallel BGL和CGM Graph,实现了很多并行图算法
- 对大规模分布式系统容错等没有很好的支持
- 基于现有分布式数据处理系统进行图计算
- 使用MapReduce/Spark/FlinkAPI编写图算法
- 编写困难,系统未针对图计算进行优化
图处理系统
图数据库:
- 基于遍历算法的数据存储、用于实时图查询
- Neo4j、OrientDB、DEX和Infinite Graph
图处理系统:
- 以图顶点为中心的计算、用于离线图分析
- 基于消息传递的并行引擎:如GoldenOrb、Pregel/Giraph
- 利用Dataflow系统构建的工具包:MapReduceHama、Spark GraphX、FlinkGelly