`

Pagerank在Hadoop上的实现原理

 
阅读更多

转自:pagerank 在 hadoop 上的实现原理

 

PageRank 算法的基本思想是,网页的热门程度依赖于指向它的网页的热门程度。假设有页面 $A$,有 $T_1 \dots T_n$ 这 $n$ 个页面包含指向 $A$ 的链接,$C(A)$代表页面 $A$ 所包含的指向别的页面的链接的数量,$d$ 是一个介于 0 和 1 之间的常数(称为阻尼系数,一般取 0.85),则页面 $A$ 的 PR 值(PageRank 值)

 

\[ PR(A) = (1-d)+d\left(\frac{PR(T_1)}{C(T_1)}+\dots+\frac{PR(T_n)}{C(T_n)}\right) \]

 

这个思想也可以由随即散步模型来解释:即从一随机网页起步,以概率 $1-d$ 跳到另一随机选择的网页, 或以概率 $d$ 随机选择一个当前网页上的链接并跟随此链接。一个网页的 PageRank 就是随机散步者在任意给定时刻访问该网页的概率。被许多网页指向的网页更可能被访问,被具有高 PageRank 的网页指向的网页更可能被访问。
 
为了求出各个网页的 PR 值,需要对上述方程组进行迭代求解(每个页面的PR值都可以根据上述公式得到一个方程),直到方程组的解收敛,或变化的范围很小。在本次实验中,第一次迭代每个页面的初始PR值为0.5,当所有页面相邻两次迭代的PR值变化小于0.00001时,程序认为函数已经收敛。
 
实验中的Map函数和Reduce函数的伪代码如下:
function map
input (PageN, RankN) -> (PageA, PageB, PageC ...)
begin
    Nn := the number of outlinks for PageN
    for each outlink PageK
        TempN = RankN/Nn
        output (PageK) -> (PageN, TempN)
    output (PageN) -> (PageA, PageB, PageC ...)
end 
 
function reduce
input   
(PageK) -> (PageN1, TempN1)
(PageK) -> (PageN2, TempN2)
...
(PageK) -> (PageNt, TempNt)
(PageK) -> (PageAk, PageBk, PageCk ...)
begin
    TempK := 0
    for each inlink PageNi
        TempK += TempNi
    RankK = 1 + (TempK - 1) * d
    output (PageK, RankK) -> (PageAk, PageBk, PageCk ...)
end
 
function combine
input   
(PageK) -> (PageN1, TempN1)
(PageK) -> (PageN2, TempN2)
...
(PageK) -> (PageNt, TempNt)
(PageK) -> (PageAk, PageBk, PageCk ...)
begin
    TempK := 0
    for each inlink PageNi
        TempK += TempNi
    output (PageK) -> ("", TempK)
    if has (PageK) -> (PageAk, PageBk, PageCk ...)
        output (PageK) -> (PageAk, PageBk, PageCk ...)
end
 

 

分享到:
评论

相关推荐

    Hadoop原理与技术MapReduce实验

    (1)熟悉Hadoop开发包 (2)编写MepReduce程序 (3)调试和运行MepReduce程序 (4)完成上课老师演示的内容 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 二、实验内容 1.单词计数实验...

    Hadoop下的分布式搜索引擎

    了Map/Reduce模型的开源实现版本——Hadoop分布 式处理平台,在此基础上将搜索引擎的爬行器、索引器和 查询器三个功能模块按照Map/Reduce模型进行设计, 充分利用Hadoop的集群拓扑特性,实现了搜索引擎的分 布式处理...

    Hadoop实战(第2版)

    实用的解决方案 ·如何整合MapReduce和R前言 致谢关于本书 第1 部分 背景和基本原理1 跳跃中的Hadoop1.1 什么是Hadoop 1.1.1 Hadoop 的核心组件1.1.2 Hadoop 生态圈1.1.3 物理架构1.1.4 谁在使用...

    Starred_Paper_Hadoop_Spark.docx

    本篇英文论文通过三个具体实例(WordCount Sorted By Key, WordCount Sorted by Values 和 PageRank算法)来对比Hadoop 和 Spark 在大数据应用中运行时间,从而观察这些研究实例随着的迭代计算次数的增加,其时间...

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    1.1.4 谁在使用Hadoop 1.1.5 Hadoop 的局限性 1.2 运行Hadoop 1.2.1 下载并安装Hadoop 1.2.2 Hadoop 的配置 1.2.3 CLI 基本命令 1.2.4 运行MapReduce 作业 1.3 本章小结 第2 部分 数据...

    PDM :基于Hadoop的并行数据分析系统 (2012年)

    提出了一款基于Hadoop的并行数据分析系统―――PDM.该系统拥有大量以MapReduce...介绍了基于电信数据的典型应用,如采用并行k均值和决策树算法实现的“套餐推荐”,利用并行PageRank算法实现的“营销关键点发现”等;最后

    文本上的算法_第二版

    第二章、我们生活在一个寻求最优的世界里 2.1 最优化问题 2.2 最大似然估计/最大后验估计 2.3 梯度下降法 第三章、让机器可以像人一样学习 3.1 何为机器学习(Machine Learning) 3.2 逻辑回归(Logistic ...

    Spark-Core学习知识笔记整理

    5 Spark与Hadoop的差异 5 6 Spark的适用场景 6 7 Spark成功案例 6 第二章 Spark开发环境搭建 8 1 Spark运行模式 8 2 Spark环境搭建 8 2.1Scala的安装 8 2.2Spark的单节点配置 9 2.3Spark-Standalone集群配置 9 2.4...

    SparkSql技术

    4.1.2:hive/console原理 31 4.2:常用操作 32 4.2.1 查看查询的schema 32 4.2.2 查看查询的整个运行计划 33 4.2.3 查看查询的Unresolved LogicalPlan 33 4.2.4 查看查询的analyzed LogicalPlan 33 4.2.5 查看优化后...

    这就是搜索引擎

    • PageRank 和田rs 算法是什么关系?有何异同? SALSA 算法是什么? Hilltop 算法又 是什么?各种链接分析算法之间是什么关系? • 如何识别搜索用户的真实搜索意图?用户搜索目的可以分为几类?什么是点击图? ...

Global site tag (gtag.js) - Google Analytics