在EdgeActiveness.java中提到了“主动性”。
spark-graphx中的“activeness”是什么意思?
发布于 2016-03-21 09:50:46
主动性就像它听起来那样。它涉及四种状态的定义,取决于源顶点和目标顶点是活动的还是非活动的。实际上,图形顶点可以选择停用。考虑一下社交网络的例子:
Facebook用户可以停用他们的帐户,但我们不一定要将他们从用户图中删除。它们的关系仍然为图算法提供了潜在的有用信息。因此,我们可以简单地将它们标记为非活动,并且任何连接到该非活动用户的用户都将通过EdgeActiveness为Either、SrcOnly、DstOnly或Neither的边执行此操作,具体取决于另一个用户的活动状态。
在出版物From "Think like a Vertex" to "Think like a Graph"中提到了以下内容
顶点具有两种状态:活动和非活动。开始时,所有顶点都处于活动状态。顶点可以通过调用voteToHalt()自动停用自身,也可以被来自其他顶点的一些传入消息被动激活。如果每个顶点都处于非活动状态,则整个程序将终止。
发布于 2017-10-06 05:23:02
Apache Spark使用的是GraphX的Pregel API,Pregel中的顶点活跃度是由消息控制的:如果一个顶点在前一次迭代中没有收到消息,那么它的顶点程序将不会在当前迭代中运行。此外,非活动顶点将无法发送消息,因为默认情况下,sendMsg函数将仅在相邻顶点中至少有一个收到消息的边上运行。
https://stackoverflow.com/questions/36121644
复制相似问题