【Flink图计算源码解析】开篇:Flink图计算总览

文章目录

  • 1. 图计算的作用
  • 2. 本专题的写作目的
  • 3. Flink Gelly引擎总览
    • 3.1. Gelly的源码结构
      • 1. Graph的存储数据结构
      • 2. 图的类别
      • 3. 图的验证以及指标
      • 4. 图的生成器
      • 5. Library
      • 6.图的迭代计算
      • 7. examples案例
  • 4. 后记

1. 图计算的作用

哲学上说事物之间普遍存在联系的,通常来说可以将事物看作图的顶点,事物间的联系看作图的边,典型的场景:

  • 对应于学术界的文献来说,每篇论文可以看作顶点,文献之间的引用关系可以看作边。
  • 对应于互联网来说,web页面可以看作顶点,页面之间的超链接关系可以看作边。
  • 对应于社交网络来说用户可以看作顶点,用户之间建立的关系可以看作边,关系的类别可以看作权重。
  • 对应于大型电商来说,用户和商品可以看作顶点(二部图),它们之间的购买关系可以看作边,购买次数可以看作权重。则抽象出来的图数据就构成了研究和商用的基础。

可以探究很多有趣的问题如:“权威节点(中心)”,“小圈子”,“世界上任意两个人之间的人脉距离”,“消息是如何传播的”等。而将这些有意思的现象用到商业领域,则底层的运算常常是图相关的算法。例如图的最短路径算法可以做好友推荐,计算关系紧密程度;最小连通图可以识别洗钱或虚假交易;Key person可以找到意见领袖,防止客户流失的群体效应;对图做PageRank可以做传播影响力分析,找出问题的中心,做搜索引擎的网页排名。所以图的场景在生活中无处不在。

图计算就是研究在大规模图数据下,如何高效计算,存储和管理图数据等相关问题的领域。

相比之下,Spark的图引擎GraphX发展要完善点。Flink的图计算引擎Gelly发展时间相对要晚点,所以目前的功能还没有Spark那么全面。但是Flink作为一个流计算理论如此完美的数据计算框架,在发展图计算的道路上有独到的优势,相信在不久的未来,Flink的Gelly引擎一定还会发展得越来越好。

2. 本专题的写作目的

目前市场上有关Flink Gelly的资料还比较少,所以对于认清目前Flink已有的图计算相关工作很不利。笔者对Flink的研究有较浓的兴趣, 所以工作之余,主要从研究源码和研读图计算相关论文出发,对Flink的Gelly模块

你可能感兴趣的:(Flink,Flink原理和应用)