优秀参考:
graphx教程参考:https://www.jianshu.com/p/ad5cedc30ba4
pergel函数详细讲解:https://blog.youkuaiyun.com/hanweileilei/article/details/89764466
迪杰斯特拉原理简介:https://www.jianshu.com/p/ad5cedc30ba4
ps: 以最短路径为例子讲解
个人理解的pregel函数是通过模拟节点和节点之间的信息传递的过程,计算出想要的结果信息。比如最短距离、出度、入度等等....
可以当作节点和节点之间通过边发送消息来理解。在有向图中,某一个节点可以是源节点src,也可能是目标节点dst,以边的方向确定。
pregel函数参数:
def pregel[A: ClassTag](
initialMsg: A,
maxIterations: Int = Int.MaxValue,
activeDirection: EdgeDirection = EdgeDirection.Either)(
vprog: (VertexId, VD, A) => VD,
sendMsg: EdgeTriplet[VD, ED] => Iterator[(VertexId, A)],
mergeMsg: (A, A)