spark graphx自用学习笔记及pyspark项目实战(基于GraphX的航班飞行网图分析)

这里写自定义目录标题

    • 0.前言
    • 1.概念
      • 1.1 图计算的优势
      • 1.2 图存储格式
      • 1.3 GraphX存储模式
      • 1.4 普通概念
    • 2.图的构建(待补充)
      • 2.1 构建图的方法
      • 2.2 构建图的过程
    • 3.图的操作
    • 4.算法
    • 5.实战
      • 5.1 项目要求
      • 5.2 环境
      • 5.3 安装
      • 5.4 代码
      • 5.5 最终结果
    • 参考链接

0.前言

本篇博客自用,部分内容只包含概念,并且博主本身有一定spark和图论基础,部分模糊的地方,可自行查询。

1.概念

1.1 图计算的优势

  1. 基于内存实现了数据的复用与快速读取
  2. 统一了图视图和表视图
  3. 与spark框架上的组件无缝集成

1.2 图存储格式

  1. 边分割(Edge-Cut):每个顶点都存储一次,但有的边会被打断分到两台机器上。这样做的好处是节省存储空间;坏处是对图进行基于边的计算时,对于一条两个顶点被分到不同机器上的边来说,要跨机器通信传输数据,内网通信流量大
  2. 点分割(Vertex-Cut):每条边只存储一次,都只会出现在一台机器上。邻居多的点会被复制到多台机器上,增加了存储开销,同时会引发数据同步问题。好处是可以大幅减少内网通信=
  3. 图计算使用的是点分割方式存储图(原来是边分割

1.3 GraphX存储模式

概念

  • VertexTable(id, data):id为顶点id,data为顶点属性
  • EdgeTable(pid, src, dst, data):pid为分区id,src为源顶点id,dst为目的顶点id,data为边属性
  • RoutingTable(id, pid):id为顶点id,pid为分区id
    分区策略

你可能感兴趣的:(学习,笔记,spark,python,大数据)