EdgeActiveness.java中提到了“活跃度”。
spark-graphx中'activeness'的含义是什么?
答案 0 :(得分:0)
活跃与听起来完全一样。它涉及四种状态的定义,具体取决于源顶点和目标顶点是活动还是非活动。基本上,图顶点可以选择停用。考虑一下社交网络的例子:
Facebook用户可以停用他们的帐户,但我们不一定要将其从用户图中删除。他们的关系仍然为图算法提供了潜在的有用信息。因此,我们只需将其标记为无效,并且与此非活动用户相关联的任何用户都会通过EdgeActiveness
Either
,SrcOnly
,DstOnly
的边缘执行此操作,或Neither
,具体取决于其他用户的活动状态。
出版物From "Think like a Vertex" to "Think like a Graph"
中提到了以下内容顶点有两种状态:活动和非活动。在开始时,所有顶点都是活动的。顶点可以通过调用voteToHalt()自动停用自身,或者被来自其他版本的一些传入消息被动地激活。如果每个顶点都处于非活动状态,整个程序将终止。
答案 1 :(得分:0)
Apache Spark正在使用GraphX的Pregel API,Pregel中的顶点活动性由消息控制:如果顶点没有 在前一次迭代中收到一条消息,它的顶点程序将不会运行 在当前的迭代中。此外,非活动顶点将无法发送 消息,因为默认情况下sendMsg函数只会在边上运行 其中至少有一个相邻的顶点收到了一条消息。