我在尝试使用 mapreduce 实现 PageRank 时遇到问题。我想在这里引用代码https://stackoverflow.com/a/5029780/1117436来描述问题。
map ((url,PR), out_links) //PR = random at start
for link in out_links
emit(link, ((PR/size(out_links)), url))
reduce(url, List[(weight, url)):
PR =0
for v in weights
PR = PR + v
Set urls = all urls from list
emit((url, PR), urls)
在上面的过程中,很明显map过程输入的第二个参数是url的Out links,而reduce过程输出的第二个参数似乎是url的In links。那么这些代码如何迭代地工作呢?
那我想问的是如何编写代码让pagerank算法正常工作?
更新:我认为这个答案解决了我的问题。 https://stackoverflow.com/a/13568286/1117436