金利道团队分享-基于MapReduce的PageRank算法

业务需求及编程思路

PageRank简单计算

假设一个由只有4个页面组成的集合:A,B,C和D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C及D的和。

      

       继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

      

      换句话说,根据链出总数平分一个页面的PR值。

      

1、自定义一个节点工具类NodeUtils,包括pr值、出链数等属性

 

2、Map类

 

3、Reduce类

 

4、主程序

 

5、运行程序

 

猜你喜欢

转载自www.cnblogs.com/jldgw/p/11898155.html
今日推荐