码迷,mamicode.com
首页 > 其他好文 > 详细

MapReduce and Pregel

时间:2015-03-20 16:16:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

PageRank:搜索引擎在使用PageRank的时候,需要计算每个节点的PageRank的值:

技术分享

上图给出了这个值的计算公式,每个节点的PageRank值由2部分构成,一个是节点初始的PageRank值,另一个是它连接的所有邻居节点的PageRank值。

前者意味着邻居节点多则PageRank值高,后者意味着邻居节点的质量也会影响节点本身的PageRank值。

以社交网络为例:2个人,每个人都有5个朋友,甲的朋友是Lily,Lucy,Andy,Kitty,Rocky,而乙的朋友是奥巴马,Bill Gates之类的精英,那么显然乙的重要程度应该高于甲。

上述计算过程需要反复迭代多次,在实现的时候使用了MapReduce算法,将计算任务分发给多个节点并行计算(Map),然后汇总多个节点的计算结果(Reduce)。

 

而2000年以后,PageRank的计算已经不使用MapReduce,而是使用Pregel。

相比MapReduce,不同之处在于Pregel以节点为中心,而不是以整个图为整体。每个节点计算出一个值以后,会主动发送消息给其他节点,告知更新后的结果。

每个节点收到邻居节点发送的Msg以后,提取出邻居节点的值,就可以进行新一轮更新计算,如下图所示:

技术分享

MapReduce and Pregel

标签:

原文地址:http://www.cnblogs.com/yulele/p/4353740.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!