文章目录
1. 图计算的作用
哲学上说事物之间普遍存在联系的,通常来说可以将事物看作图的顶点,事物间的联系看作图的边,典型的场景:
- 对应于学术界的文献来说,每篇论文可以看作顶点,文献之间的引用关系可以看作边。
- 对应于互联网来说,web页面可以看作顶点,页面之间的超链接关系可以看作边。
- 对应于社交网络来说用户可以看作顶点,用户之间建立的关系可以看作边,关系的类别可以看作权重。
- 对应于大型电商来说,用户和商品可以看作顶点(二部图),它们之间的购买关系可以看作边,购买次数可以看作权重。则抽象出来的图数据就构成了研究和商用的基础。
可以探究很多有趣的问题如:“权威节点(中心)”,“小圈子”,“世界上任意两个人之间的人脉距离”,“消息是如何传播的”等。而将这些有意思的现象用到商业领域,则底层的运算常常是图相关的算法。例如图的最短路径算法可以做好友推荐,计算关系紧密程度;最小连通图可以识别洗钱或虚假交易;Key person可以找到意见领袖,防止客户流失的群体效应;对图做PageRank可以做传播影响力分析,找出问题的中心,做搜索引擎的网页排名。所以图的场景在生活中无处不在。
图计算就是研究在大规模图数据下,如何高效计算,存储和管理图数据等相关问题的领域。
相比之下,Spark的图引擎GraphX发展要完善点。Flink的图计算引擎Gelly发展时间相对要晚点,所以目前的功能还没有Spark那么全面。但是Flink作为一个流计算理论如此完美的数据计算框架,在发展图计算的道路上有独