pagerank 算法

合集下载

PageRank算法原理及应用技巧

PageRank算法原理及应用技巧

PageRank算法原理及应用技巧一、什么是PageRank算法?PageRank算法,中文通常翻译为页面等级算法,是谷歌搜索引擎的核心之一。

它的作用是根据网页间的链接关系,为每个网页赋予一个权重值,体现网页自身的重要性以及与其他网页之间的关联程度。

这个权重值,也可以称为页面等级,是在算法迭代过程中自动计算出来的,以一定的方式反映在搜索结果页面上,对用户查询的结果产生非常大的影响。

二、PageRank算法原理PageRank算法的核心思想是基于图论的概念,将整个Web系统看作一个有向图,网页是节点,链接是边。

每个节点的PageRank值可以看作是一个随机游走的概率,即从当前节点出发,沿着链接随机跳到其他节点的概率。

具体说来,PageRank算法把每个页面的初始PageRank值设置为1/n,其中n是整个网络中页面的数量。

在每一次迭代中,所有页面的PageRank值会被重新计算,计算公式如下:PR(A)=(1-d)+d( PR(T1) / C(T1) + ... + PR(Tn) / C(Tn) )其中,PR(A)表示页面A的PageRank值,d是一个介于0和1之间的阻尼系数,通常设置为0.85。

T1~Tn表示所有直接链接到A的页面,C(Ti)表示对应页面的出链总数,PR(Ti)表示对应页面的PageRank值。

这个公式的含义是,如果一个页面被其他页面链接得多,它的贡献就会更大。

而如果这个页面链接的其他页面也被其他页面链接得多,那么这个页面的权重值就会被进一步提高。

不过,由于阻尼系数的加入,每个页面的PageRank值最终都会趋于收敛,并保证权重的分配符合概率公式的要求。

三、PageRank算法的应用技巧1.优化页面内部链接结构PageRank算法的核心在于链接关系,因此页面内部的链接结构也会对页面的PageRank值产生影响。

因此,站长应该合理布局内部链接,确保每个页面都可以被其他页面链接到,尽量构建一个完整的内部链接网络。

pagerank通俗易懂解释

pagerank通俗易懂解释

PageRank 通俗易懂解释一、引言在信息爆炸的今天,互联网已经成为我们获取和分享信息的主要渠道。

然而,随着网页数量的不断增加,如何快速找到高质量、相关的信息变得越来越困难。

为了解决这个问题,谷歌的创始人拉里·佩奇和谢尔盖·布林发明了一种名为PageRank 的算法。

本文将通过通俗易懂的方式,详细解释PageRank 的原理和应用。

二、PageRank 简介PageRank 是一种基于网页之间相互链接关系的排名算法,旨在对互联网上的网页进行重要性评估。

PageRank 的核心思想是:一个网页的重要性取决于它被其他重要网页链接的次数和质量。

换句话说,如果一个网页被很多高质量的网页链接,那么这个网页的重要性也会相应提高。

三、PageRank 原理1. 初始化:首先,我们需要为每个网页分配一个初始的PageRank 值。

通常,将所有网页的PageRank 值设置为相同的初始值,如1/N,其中N 是网页的总数。

2. 计算链接关系:接下来,我们需要计算网页之间的链接关系。

对于每个网页,我们可以统计指向它的链接数量和质量。

链接数量是指有多少其他网页链接到了当前网页,而链接质量则是指链接到当前网页的其他网页的重要性。

3. 更新PageRank 值:有了链接关系后,我们就可以根据PageRank 的核心思想来更新每个网页的PageRank 值。

具体来说,一个网页的新PageRank 值等于它所有链接的PageRank 值之和,再乘以一个衰减因子。

衰减因子的值通常为0.85,表示链接传递的权重会随着距离的增加而逐渐减小。

4. 迭代计算:重复步骤2 和3,直到PageRank 值收敛为止。

收敛是指连续两次计算得到的PageRank 值之间的差异小于某个预设的阈值。

四、PageRank 应用PageRank 算法最初是谷歌搜索引擎的核心组成部分,用于对搜索结果进行排序。

通过PageRank 分析,我们可以快速找到高质量、相关的信息。

pagerank算法的概念

pagerank算法的概念

pagerank算法的概念Pagerank算法是一种用于衡量网页重要性的算法,最初由Google公司创始人之一拉里·佩奇(Larry Page)提出。

该算法通过分析网页之间的链接关系来确定网页的排名。

Pagerank算法基于一个简单的思想:一个网页的重要性取决于其他重要网页指向它的数量和质量。

换句话说,如果一个网页被许多其他网页链接到,那么它可能是一个重要的网页。

Pagerank算法通过将网页与其他网页之间的链接看作是一个图的结构来实现。

在这个图中,网页是节点,链接是边。

每个网页都被分配一个初始的Pagerank 值。

然后,通过迭代计算,调整每个网页的Pagerank值,直到最终稳定。

在计算Pagerank时,算法会考虑以下因素:1. 入度链接数量:指向某个网页的链接数量越多,该网页的Pagerank值就越高。

2. 入度链接质量:如果指向某个网页的链接来自于高质量的网页,那么该网页的Pagerank值也会提高。

3. 网页自身的Pagerank值:一个网页的Pagerank值也可以由其他网页的Pagerank值传递过来,增加其自身的重要性。

具体来说,Pagerank算法使用一个迭代的计算过程。

在每一次迭代中,算法会根据链接关系和先前计算得到的Pagerank值来调整每个网页的当前Pagerank 值。

这个过程会重复进行,直到所有网页的Pagerank值收敛到一个稳定的状态。

一个简单的例子可以帮助理解Pagerank算法。

假设有三个网页A、B和C,其中A和B都链接到C,C链接到A。

初始时,每个网页的Pagerank值都是相等的。

然后,通过迭代计算,我们可以得到最终的Pagerank值。

在此过程中,由于网页A和B都链接到C,因此C的Pagerank值会增加。

另外,由于C链接到A,A的Pagerank值也会增加。

最终,我们可以确定每个网页的最终Pagerank 值,从而确定它们的重要性。

Pagerank算法在搜索引擎优化和网页排名中起着重要的作用。

PageRank算法

PageRank算法

PageRank算法1. PageRank算法概述PageRank,即⽹页排名,⼜称⽹页级别、Google左側排名或佩奇排名。

是Google创始⼈拉⾥·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,⾃从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界⼗分关注的计算模型。

眼下许多重要的链接分析算法都是在PageRank算法基础上衍⽣出来的。

PageRank是Google⽤于⽤来标识⽹页的等级/重要性的⼀种⽅法,是Google⽤来衡量⼀个站点的好坏的唯⼀标准。

在揉合了诸如Title标识和Keywords标识等全部其他因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的⽹页在搜索结果中另站点排名获得提升,从⽽提⾼搜索结果的相关性和质量。

其级别从0到10级,10级为满分。

PR值越⾼说明该⽹页越受欢迎(越重要)。

⽐如:⼀个PR值为1的站点表明这个站点不太具有流⾏度,⽽PR值为7到10则表明这个站点很受欢迎(或者说极其重要)。

⼀般PR值达到4,就算是⼀个不错的站点了。

Google把⾃⼰的站点的PR值定到10,这说明Google这个站点是很受欢迎的,也能够说这个站点很重要。

2. 从⼊链数量到 PageRank在PageRank提出之前,已经有研究者提出利⽤⽹页的⼊链数量来进⾏链接分析计算,这样的⼊链⽅法如果⼀个⽹页的⼊链越多,则该⽹页越重要。

早期的⾮常多搜索引擎也採纳了⼊链数量作为链接分析⽅法,对于搜索引擎效果提升也有较明显的效果。

PageRank除了考虑到⼊链数量的影响,还參考了⽹页质量因素,两者相结合获得了更好的⽹页重要性评价标准。

对于某个互联⽹⽹页A来说,该⽹页PageRank的计算基于下⾯两个基本如果:数量如果:在Web图模型中,如果⼀个页⾯节点接收到的其它⽹页指向的⼊链数量越多,那么这个页⾯越重要。

PageRank算法的原理及应用

PageRank算法的原理及应用

PageRank算法的原理及应用PageRank算法是一种被广泛应用于搜索引擎的网页排序算法,它是由Google公司的两位创始人——拉里·佩奇和谢尔盖·布林在1998年发明的。

经过多次改进和完善,如今的PageRank算法已经成为了搜索引擎排名的重要指标之一。

本文将从算法原理、公式推导和应用探究三个方面来介绍PageRank算法。

一、算法原理PageRank算法的核心思想是基于互联网上各个页面之间的链接关系进行排序,在一定程度上反映了网页的权威性和价值。

所谓链接关系,就是指一个页面通过超链接将访问者引向另一个页面的关系。

如果一个网页被其他网页链接得越多,那么这个网页的权威度就应该越高。

但是,PageRank并不直接以链接数量作为评价标准,而是通过一个复杂的算法来计算每个网页的等级。

具体来说,PageRank算法是基于马尔科夫过程的概率模型,它将互联网上的所有页面抽象成图形,每个网页都是一个节点,超链接则是节点之间的边。

PageRank算法的核心计算就是将这个图形转化成一个矩阵,然后使用迭代的方式求出每个节点的等级,即PageRank值。

在这个过程中,每个节点的PageRank值会受到其它所有节点的影响,而它自身的权值又会传递给其他节点,如此循环迭代,直到所有节点的PageRank值趋于收敛。

二、公式推导PageRank算法的公式推导是比较繁琐的,这里只能简单概括一下。

首先,PageRank值可以表示为一个向量,每个向量元素代表一个页面的权值。

由于PageRank算法是基于网页链接之间的关系计算出来的,所以可以将它表示成一个矩阵M,该矩阵中的元素mi,j表示第j个页面指向第i个页面的链接数量。

接着,可以构造一个向量v,v中的所有元素都是1/N(其中N为网页总数),代表每个页面初始的PageRank值。

然后,PageRank值可以通过迭代计算得到,具体的计算公式如下:PR(A) = (1-d)/N + d * (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))其中,PR(A)表示节点A的PageRank值,d是一个常数(0<d<1),代表网页的阻尼系数,T1-Tn是所有指向节点A的页面,C(Ti)是Ti页面的出链总数,PR(Ti)是Ti页面的PageRank值,N为网页总数。

pagerank算法

pagerank算法

pagerank算法PageRank算法是由Google公司的创始人之一拉里·佩奇(Larry Page)提出的一种用于评估网页重要性的算法。

它是一种基于链接分析的算法,通过分析网页之间的链接关系,为每个网页赋予一个权重值,用于衡量网页的重要程度。

PageRank算法的核心思想是,一个网页的重要性可以由其他网页向它的链接数量和质量来衡量。

在PageRank算法中,每个网页被视为一个节点,网页之间的链接关系被视为有向边。

这些边传递了网页之间的链接关系,通过迭代计算,可以得到每个网页的最终权重值,即PageRank值。

PageRank值越高的网页,其在搜索结果中的排名也越靠前。

PageRank算法的计算过程可以简单描述如下:首先,为每个网页赋予一个初始的PageRank值,可以是相等的或者根据某种评估标准进行设定。

然后,通过迭代计算,不断更新每个网页的PageRank值,直到收敛为止。

在每次迭代计算中,PageRank值的更新是根据网页之间的链接关系进行的。

假设网页A有向网页B和网页C分别建立了链接,那么A网页的PageRank值会被B网页和C网页的PageRank值所影响。

而B网页和C网页的PageRank值则取决于它们自身的PageRank 值以及它们所链接的其他网页的PageRank值。

这种迭代计算的过程可以理解为网页之间的相互影响和传递。

PageRank算法的核心思想是,一个网页的重要性取决于其他网页向它的链接数量和质量。

换言之,如果一个网页被许多其他重要的网页所链接,那么它自身的重要性也会相应提高。

而如果一个网页被很少或者没有其他重要的网页所链接,那么它的重要性也会相应降低。

PageRank算法的应用不仅局限于搜索引擎领域,还可以用于社交网络、推荐系统等领域。

在社交网络中,可以用PageRank算法来评估用户的重要性和影响力。

在推荐系统中,可以利用PageRank 算法来建立用户之间的相似度关系,从而实现个性化推荐。

PageRank算法

PageRank算法

PageRank算法PageRank是⽹页重要程度计算⽅法,可推⼴到有向图结点的重要程度的计算。

基本思想是在有向图上定义随机游⾛模型,在⼀定条件下,极限情况访问每个结点的概率收敛到平稳分布。

给定有n个结点强连通且⾮周期性的有向图,在其基础上定义随机游⾛模型。

假设转移矩阵M,在时刻0,1,2,…,t,…访问各个结点概率为则其极限存在,那么极限向量R表⽰马尔可夫链的平稳分布,满⾜平稳分布R称为这个图的PageRank。

R的各个分量为各个结点的PageRank值,这是PageRank的基本定义,但有时有向图并未能满⾜强连通且⾮周期性的条件,没有其对应的平稳分布。

然⽽可以在基本定义上导⼊平滑项,这样平稳分布向量R就由下⾯的公式决定其中,1是所有分量为1 的n维向量;d阻尼因⼦,⼀般由经验决定因此这也称为PageRank的⼀般定义,其随机游⾛模型的转移矩阵由两部分的线性组合组成,⼀部分是有向图的基本转移矩阵M,另⼀部分是完全随机的转移矩阵。

PageRank的计算⽅法包括幂法、迭代计算法、代数算法。

幂法是其常⽤的⽅法,通常计算矩阵的主特征值和主特征向量求求得有向图的⼀般PageRank。

计算流程:输⼊:有n个结点的有向图,其转移矩阵M,阻尼因⼦d,初始向量x0和计算精度ε输出:有向图的PageRank平稳向量R1. 令t=0,选择初始向量x02. 计算有向图的⼀般转移矩阵A3. 迭代并规范化结果向量4. 当时,令,停⽌迭代。

5. 否则,令t=t+1,执⾏步骤(3)6. 对R进⾏规范化处理,使其表⽰概率分布例,给定以下有向图,d=0.85,ε=0.005,求其⼀般的PageRank图1 有向图有向图的转移矩阵7. 令t=0,8. 根据公式计算该图的⼀般转移矩阵A9. 迭代并规范化通过多次迭代,在t=21,22时,得到向量,停⽌迭代,取将R规范化,即使得其各个分量的和为1,迭代计算算法的流程:输⼊:有n个结点的有向图,其转移矩阵M,阻尼因⼦d,初始向量R0输出:有向图的PageRank平稳向量R(1)令t=0,(2)计算(3)当时充分接近,令,停⽌迭代。

PageRank简介

PageRank简介

一、简单算法:例如一个由4个页面组成的小团体:A、B、C及D。

如果所有页面都链向A,那么A的PR(PageRank)值将是B、C及D的和:PR(A)=PR(B)+PR(C)+PR(D)继续假设B也有链接到C,并且D也有链接到包括A的3个页面,一个页面不能投票2次,所以B给每个页面半票。

以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

也就是说,根据链接总数平分一个页面的PR值。

最后,所有这些被换算为一个百分比再乘上一个系数q。

由于下面的算法,没有页面的PageRank会是0。

所以,Google通过数学系统给了每个页面一个最小值1−q。

所以一个页面的 PageRank 是由其他页面的PageRank计算得到。

Google不断的重复计算每个页面的PageR ank。

如果您给每个页面一个随机PageRank值(非0),那么经过不断的重复计算,这些页面的PR值会趋向于正常和稳定。

这就是搜索引擎使用它的原因。

二、完整的算法:这个方程式引入了随机浏览的概念,即有人上网无聊随机打开一些页面,点一些链接。

一个页面的PageRank值也影响了它被随机浏览的概率。

为了便于理解,这里假设上网者不断点网页上的链接,最终到了一个没有任何链出页面的网页,这时候上网者会随机到另外的网页开始浏览。

为了对那些有链出的页面公平,q=0.15(q的意义见上文)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。

所以,这个等式如下:p1、p2、……、pN是被研究的页面,M(pi)是链入pi页面的数量,L(pj)是pj链出页面的数量,而N是所有页面的数量。

PageRank值是一个特殊矩阵中的特征向量,这个特征向量为:R是等式的答案:如果pj不链向pi,而且对每个j都成立时,L(pi,pj)等于0,并且下面的等式成立:这项技术主要的弊端是,旧的页面等级会比新页面高,因为新页面,即使是非常好的页面,也不会有很多链接,除非他是一个站点的子站点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各个目标节点输出为<key(目标节点),value(起始节点Pk值/目标节 点数量)>。(2)MapReduce框架收集Map函数输出中间结果,包括key
及其相应的value列表.在Reduce函数处理时,对于每个key由公式计算出
每个页面新的Pk值,并将结果保存在HDFS中,以用于下一次迭代(3)把 上面生成的结果与网页链接结构表进行合并处理,并作为下一次迭代的输
11
基于MapReduce的PageRank算法

算法的内容

算法的实现
12
基本思想:
对于pagerank算法,MapReduce的处理过程可以构思如下:Hadoop中的
master节 点 先 将HDFS中存储网页链接关系的文件划分为多个文件块,
然后再交给每个Slave节点,而每个Slave节点上可能会进行Map函数处理 也可能会进行Reduce函数处理先将划分好的网页链接关系文件的某一个文
件块交给运行Map函数的节点,并按照一定格式的<Key,value>键/值
对输出至Master节点,然后再由运行Reduce函数的节点读取Map函数输出 的中间结果,进行汇总处理,形成最终结果,最后保存到HDFS中在Hadoop
MapReduce计算模式中,并行化pagerank算法的每次迭代都是一个
9
若有,JobTracker 分派任务作业给 TaskTracker,TaskTracker 再分配具体 的物理节点机执行任务。Master/Slave 是一种 Slave 主动询问、Master 被 动答复的过程。整个过程分为三步: JobClient 提交作业任务、Job-Tracker 调度作业任务TaskTracker 分配具体节点机运行作业。 (1) JobClient 提交作业任务: 当用户在提交作业时,JobClient 会调用静 态方法 runJob 实例化一个 JobClient 实例,然后此实例调用 submitJob 方法提交作业,并得到一个 runningJob 对象。它被用来监视作业的状态, 并一直运行到作业完成。submitJob 通过内部方法向 Hadoop 的 HDFS 上传 以下几个文件: job.xml、job.jar 和 job.split、job.xml 是作业配置文件 ,比如是关于映射类、合并类、规约类、输入输出格式的规定; job.jar
是执行任务相关类文件集合,例如 MapperClass,ReduceClass 等主要功能
类; job.split 是关于分块信息的文件,它包括块怎么分,分为多少块( 默 认 64M) 的参数约定。
10
(2) JobTracker 调度作业任务: JobTracker 是 Hadoop-MapReduce 框架的
基于MapReduce的PageRank算法
主要内容

Pagerank 算法的简介。

Hadoop-MapReduce 框架介绍

Hadoop-MapReduce 下的 PageRank算法
2
Pagerank 算法的简介

算法的思想

算法的不足与改进3主要思想:PageRank 形如投票系统一样,一个链接结构从网页 x指向另一网页y,则 y得票一次。PageRank 的 PR 值不仅跟自己得票相关,而且跟向自己投票的 网页也相关,x向y投票,x重要就代表 y 更重要。 PageRank 算法描述如下: ( 1) PR 值具有传递性。x指向y时,x的PR值也部分传递给y。 ( 2) 重要性具有传递性,一个重要的网页比一个不重要网页传递的权威更 多. 当考虑一个页面的所有入度和出度时,页面 Z 的PageRank 值计算公下: PR(Z)=(1-D)+D×∑PR(a)/Na ( a∈A(Z) )
核心。当 JobTracker 接到 Job-Client 提交的作业后,JobTracker 会产生 一个 JobIn-Progress 进程对象,它代表一个作业进程对象,并维护相应作 业的相关信息。例如作业运行状态、作业运行时间等信息。同时将分配Task 节点机位置信息记录下来。JobTracker 会通过 offerService 方法开启作业 初始化线程,目的是初始化作业的所有任务。JobTracker 会定义两个数组列 表 JobsInitQueue 和 JobsByPriority,并将作业进程加入 JobInitQueue 和 JobsByPriority 中,然后用resortPriority( )方法对作业的优先级排序 ( 可基于不同的排序策略) ,然后唤醒排在第一的作业进程,准备调度相应 的 Task 运行作业。 (3) TaskTracker 分配机器运行作业任务: TaskTracker 在空闲时会调用 JobTracker. AssignTask 来询问JobTracker 是否有任务安排,如果在等待 队列中有作业进程,JobTracker 将分配作业任务给 TaskTracker,并把 相应的 Task 任务节点机启动运行任务
主要内容是在Hadoop云计算环境下对Pagerank算法进行了并行化计算的分 析研究,将Pagerank算法与Mapreduce编程模型有效地结合起来,形成了
在Hadopp云计算环境下运行的Pagerank并行算法
18
7
(2)偏重旧网页问题
决定网页PR值的主要因素是指向它的链接个数的多少。一个含 有重要价值的新网页,可能因为链接数目的限制很难出现在搜 索结果的前面,而不能获得与实际价值相符的排名。算法并不 一定能反映网页的重要性,存在偏重旧网页现象。
(3)忽视用户个性化问题
PageRank算法在设计之初,没有考虑用户的个性化需要。个性
17
如果每一个迭代过程分为两个MapReduce阶段,在第一个阶段中生成 Pagerank向量,而第二阶段将生成的pagerank向量与第一阶段的输入数据
合并,并用于下一次迭代,这样就会需要两次访问HDFS.所以,可 将 两
个 阶 段 合 并 为 一 个 阶 段,在Map中输出key及其对应的links,在 Reduce中将该key新的Pagerank与links一起用于下次迭代。
For each目标点in记录 {
起始节点->key;目标节点->value;} output(key,value);}
14
Reduce(key,list(value)){
//key存放起始节点,list(value)为目标节点列表
For each value in list{ value add to sequence;}
可能按当前页面中的链接前进,而是随机跳跃完全无关页面,则 D 实际上 代表的是用户跟随网页链接浏览,不产生随机跳跃的概率值。加入阻尼系数 D 是能保证 PageRank算法总是收敛的。
5

主要优点:
PageRank算法通过网页间的链接来评价网页的重要性,在一定程度上避免和减少 了人为因素对排序结果的影响;采用与查询无关的离线计算方式,使其具有较高的 响应速度;一个网页只能通过别的网页对其引用来增加自身的PR值,且算法的均分 策略使得一个网页的引用越多,被引用网页所获得的PR值就越少。因此,算法可以 有效避免那些为了提高网站的搜索排名而故意使用链接的行为。
1-d->initial_pagerank;
(initial_pagerank,sequence)->value; Output(key,value);
}
15
算法设计
基于Hadoop MapReduce的PageRank算法思想描述如下:(1)Pagerank
迭代阶段的Map函数将网页链接结构表中每一行记录里的目标节点序列中
6
主要缺点:
算法在Google搜索引擎的成功运用,说明其是高效、可行的。但
由于完全基于链接分析,且链接信息相对静态,没有考虑网页使 用的动态信息,因此算法还存在一些缺陷,主要可归纳为:
(1)主题漂移问题
PageRank算法仅利用网络的链接结构,无法判断网页内
容上的相似性;且算法根据向外链接平均分配权值使得主题 不相关的网页获得与主题相关的网页同样的重视度,出现主 题漂移。
化搜索引擎的兴起,对PageRank排序算法提出新的挑战。
8
Hadoop-MapReduce 框架介绍
MapReduce是一个用于大规模数据处理的分布式计算模型。当用户定义一个 Map 函数来处理一个key / value 对然后生成一批中间的 key / value 对 再定义一个 Reduce 函数将所有这些中间的有相同 key 的values 合并起来 。现实生活中有很多这种模型,Hadoop 的 Map / Reduce 框架也是基于这 个原理实现。一个 MapReduce 任务,在运行程序之前,必须保证 Master节 点的 NameNode,SecondaryNameNode,JobTracker 等进程和 Slaves 节点 的 DataNode,TaskTracker等进程启动,JobTracker 进程和 TaskTracker 进程分别运行在 Master 和 Slaves 上。MapReduce 首先将作业通过 JobClient 提交作业给 Master 的 JobTracker,接着 JobTracker 将作业 放在等待队列中。Slaves 节 点的TaskTracker 随机地通过远程过程调用( RPC) 发送询问信息,询问是否有作业任务安排。
MapReduce的计算过程,如何设计该过程也是pagerank并行算法的核心。
13
因为网页链接关系文件中包含了大量的网页节点数据,所以由网页链接关 系文件转换成网页链接结构表的过程也采用并行MapReduce计算来处理. Map函数生成由起始节点到目标点的<key,vlue>键值对,其中key为起始 节点,value为目标节点.将Map函数执行后生成中间结果<key, List(value)> 作为Reduce函数的输入,然后,Reduce函数把每个key的 value列表输出,并为每个key初始化PR值,再输出文件到HDFS,并作为并 行Pagerank迭代计算的输入。 算法描述如下:Map(key,value){ ∥key存放起始节点,value存放目标节点∥ 从网页链接关系文件中读出每条记录
相关文档
最新文档