PageRank算法是谷歌搜索引擎首创网页重要性排序的重要的算法,其原理比较通俗易懂,大数据背景下基于MapReduce的实现更是成为了常态,本文给出PageRank算法详细介绍,以及通过hadoop streaming环境的实现。
1. PageRank算法原理
PageRank的核心思想是模拟一个悠闲的上网者,在网页上随机跳转。
2. 陷阱问题
3. MapReduce实现
3.1 pr_mapper.py
#!/usr/bin/env python
from __future__ import division
import sys
from decimal import *
getcontext().prec = 100
alpha = Decimal(0.8)
#load last round page rank value
pr_values = {}
nodeNums = 0
for line in open('tmp.txt'):
infos = line.strip().split('\t')
pr_values[infos[0]] = Decimal(infos[1].strip())
nodeNums +=