spark-graphx中'activeness'的含义是什么?

时间:2016-03-21 01:06:36

标签: spark-graphx

EdgeActiveness.java中提到了“活跃度”。

spark-graphx中'activeness'的含义是什么?

2 个答案:

答案 0 :(得分:0)

活跃与听起来完全一样。它涉及四种状态的定义,具体取决于源顶点和目标顶点是活动还是非活动。基本上,图顶点可以选择停用。考虑一下社交网络的例子:

Facebook用户可以停用他们的帐户,但我们不一定要将其从用户图中删除。他们的关系仍然为图算法提供了潜在的有用信息。因此,我们只需将其标记为无效,并且与此非活动用户相关联的任何用户都会通过EdgeActiveness EitherSrcOnlyDstOnly的边缘执行此操作,或Neither,具体取决于其他用户的活动状态。

出版物From "Think like a Vertex" to "Think like a Graph"

中提到了以下内容
  

顶点有两种状态:活动和非活动。在开始时,所有顶点都是活动的。顶点可以通过调用voteToHalt()自动停用自身,或者被来自其他版本的一些传入消息被动地激活。如果每个顶点都处于非活动状态,整个程序将终止。

答案 1 :(得分:0)

  

Apache Spark正在使用GraphX的Pregel API,Pregel中的顶点活动性由消息控制:如果顶点没有   在前一次迭代中收到一条消息,它的顶点程序将不会运行   在当前的迭代中。此外,非活动顶点将无法发送   消息,因为默认情况下sendMsg函数只会在边上运行   其中至少有一个相邻的顶点收到了一条消息。