为了账号安全,请及时绑定邮箱和手机立即绑定

pangrank算法--PageRank算法并行实现

标签:
算法

https://img1.sycdn.imooc.com//5b4755180001405d06000400.jpg

前言

Google通过PageRank算法模型,实现了对全互联网网页的打分。但对于海量数据的处理,在单机下是不可能实现,所以如何将PageRank并行计算,将是本文的重点。

本文将继续上一篇文章 PageRank算法R语言实现,把PageRank单机实现,改成并行实现,利用MapReduce计算框架,在集群中跑起来。

目录

  1. PageRank算法并行化原理

  2. MapReduce分步式编程

1. PageRank算法分步式原理

单机算法原理请参考文章:PageRank算法R语言实现

pagerank-sample

PageRank的分步式算法原理,简单来讲,就是通过矩阵计算实现并行化。

1). 把邻接矩阵的列,按数据行存储

邻接矩阵

[,1]   [,2]   [,3]   [,4][1,] 0.0375000 0.0375 0.0375 0.0375[2,] 0.3208333 0.0375 0.0375 0.8875[3,] 0.3208333 0.4625 0.0375 0.0375[4,] 0.3208333 0.4625 0.8875 0.0375

按行存储HDFS

1       0.037499994,0.32083333,0.32083333,0.320833332       0.037499994,0.037499994,0.4625,0.46253       0.037499994,0.037499994,0.037499994,0.887500054       0.037499994,0.88750005,0.037499994,0.037499994

2). 迭代:求矩阵特征值

pagerank-mr

map过程:

  • input: 邻接矩阵, pr值

  • output: key为pr的行号,value为邻接矩阵和pr值的乘法求和公式

reduce过程:

  • input: key为pr的行号,value为邻接矩阵和pr值的乘法求和公式

  • output: key为pr的行号, value为计算的结果,即pr值

第1次迭代

0.0375000 0.0375 0.0375 0.0375     1     0.1500000.3208333 0.0375 0.0375 0.8875  *  1  =  1.2833330.3208333 0.4625 0.0375 0.0375     1     0.8583330.3208333 0.4625 0.8875 0.0375     1     1.708333

第2次迭代

0.0375000 0.0375 0.0375 0.0375     0.150000      0.1500000.3208333 0.0375 0.0375 0.8875  *  1.283333  =   1.64458330.3208333 0.4625 0.0375 0.0375     0.858333      0.73791670.3208333 0.4625 0.8875 0.0375     1.708333      1.4675000

… 10次迭代

特征值

0.15000001.49557210.82550341.5289245

3). 标准化PR值

0.150000                                              0.03750001.4955721  / (0.15+1.4955721+0.8255034+1.5289245) =   0.37389300.8255034                                             0.20637591.5289245                                             0.3822311

2. MapReduce分步式编程

MapReduce流程分解

PageRankJob


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消