980PageRank的MapReduce实现.ppt
《980PageRank的MapReduce实现.ppt》由会员分享,可在线阅读,更多相关《980PageRank的MapReduce实现.ppt(35页珍藏版)》请在三一办公上搜索。
1、PageRank的MapReduce实现,2011-09,PageRank算法介绍PageRank算法的MapReduce实现实现一个简单的搜索引擎WordCount例程源码讲解,PageRank算法介绍,PageRank算法由Google创始人之一Larry Page提出,它是Google排名运算法则的一部分,是Google用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站好坏的重要标准之一。Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中的排名获得提升,从而提高搜索结果的相关性和质量。该算法的基本思想是被大量高质量网页引用(链接)的
2、网页也是高质量网页。,PageRank算法介绍,PR(A)是网页A的PageRank值;a是一个权值,例如可以设定为0.5,经过多次迭代,PR(A)接近精确值;ti表示链向页面A的第i个网页;C(ti)表示页面i的链出链接数,PageRank算法介绍PageRank算法的MapReduce实现实现一个简单的搜索引擎WordCount例程源码讲解,PageRank的MapReduce实现,Step 1:分析一个页面的链接数并赋初值;Step 2:多次迭代计算页面的PageRank值;Step 3:根据PageRank值排序。,Step1 分析页面链接数,Map:-input:(0,index.h
3、tml)-output:(index.html,1.html)(index.html,2.html)(index.html,n.html)说明:输出为(key,value)键值对,key为当前网页路径,value为当前网页中的对外的链接。,Reduce:-input:key:“index.html”value:“1.html”,”n.html”-output:key:”index.html”value:“1.0 1.html,n.html”说明:Hadoop把Map函数输出的key合并,相同key的value合并成一个集合作为reduce的value。输出key网页的PR值(初值为1.0),S
4、tep1 分析页面链接数,对于MapReduce程序,Map函数的输入为用户指定的文件,那么输入的value值就是文件内容(可以配置成按行读取或者把整个文件视作一个大字符串),key值是读入文本的偏移量。程序员对输入的key,value进行一系列操作,然后按(key,value)键值对的形式输出。需要注意的是:输出的key,value是程序员自己定义的,可以和输入的key,value毫不相关。系统获取Map函数的输出,把相同的key合并,再把key和value集合作为键值对作为reduce函数的输入。程序员自定义reduce函数中的处理方法,输出(key,value)键值对到磁盘文件。,Ste
5、p2 迭代计算PageRank值,Map:-input:key:index.html value:1.html,2.html-output:key:“1.html”Value:“index.html”Key:“2.html”Value:”index.html”,Reduce:-input:Key:“1.html”Value:”index.html 0.5 23”,”2.html 2.4 2”,key:“2.html”value:“index.html 0.5 23”,“1.html 1.3 3”,-output:key:”1.html”value:“index.html,2.html”,注意,
6、这是1.html的新PR值,Step2 迭代计算PageRank值,说明:step2是一个迭代过程,每次将磁盘上的文件读入,key为每一个网页链接,value的第一项为当前网页的PangRank值,后面接该网页中的对外链接。Map函数将输入的每一对(key,value)“反转”成多对(value,key)输出,也就是说,每个输出的key为输入value中的每一个链接,而输出value为输入key的链接+输入key的PR值+输入key的对外链接数。在reduce函数中,就可以根据输入的value中的参数来计算每一个key新的PageRank值,并按Map函数的格式输出到磁盘,以作为下一次迭代的输
7、入。迭代多次后,PageRank值趋于稳定,就得出了较为精确的PageRank值。,Step3 根据PageRank值排序,Map:-input:key:“index.html”value:“1.html,2.html”-output:key:“”value:“index.html”,Step3 根据PageRank值排序,说明:系统在处理Map函数的输出时,将把所有相同的key合并,并排序输出到Reduce函数的输入中。所以,Map函数只需要把PageRank值作为key输出,系统就会自动把key排序输出到reduce函数。Reduce函数只需依次输出每个value中的链接,就得到了按Pag
8、eRank排序的网页链接。至此,算法结束。,PageRank算法介绍PageRank算法的MapReduce实现实现一个简单的搜索引擎WordCount例程源码讲解,实现一个简单的搜索引擎,Step1:安装Hadoop运行环境Step2:获取网页集合存放到HDFS中Step3:编写MapReduce程序*Step4:将输出结果存储到分布式数据库中,Step1 安装Hadoop运行环境,1,安装linux系统,如Ubuntu11.04,这一步网上有详细的教程,请同学们自行学习2,在linux 平台上安装Hadoop。在Hadoop 官网(http:/hadoop.apache.org/)下载一个
9、Hadoop 版本:在以下页面中选择一个镜像站点下载,获取hadoop-0.20.2.tar.gz。http:/www.apache.org/dyn/closer.cgi/hadoop/common/,Step1 安装Hadoop运行环境,3,在Ubuntu系统上安装openssh-server:$sudo apt-get install openssh-server4,建立ssh无密码登陆:$ssh-keygen t dsa P f/.ssh/id_dsa该命令在/.ssh目录生成id_dsa和id_dsa.pub密钥对,我们把id_dsa.pub追加授权到key里面:$cat/.ssh/i
10、d_dsa.pub/.ssh/authorized_keys完成以后,就可以实现无密码登陆本机$ssh localhost5,关闭防火墙:$sudo ufw disable,Step1 安装Hadoop运行环境,6,安装jdk。http:/安装路径为/home/uname/jdk,添加环境变量到/etc/profile中:export JAVA_HOME=/home/uname/jdkexport JRE_HOME=/home/uname/jdk/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH(注:网上有许多jdk的安
11、装教程,同学们可以参考),Step1 安装Hadoop运行环境,7,安装hadoop。$mv hadoop-0.20.2.tar.gz/hadoop-0.20.2.tar.gz$cd$tar zvxf hadoop-0.20.2.tar.gz添加hadoop的安装路径到/etc/profile中:export HADOOP_HOME=/home/uname/hadoop-0.20.2export path=$HADOOP_HOME/bin:$PATH,Step1 安装Hadoop运行环境,8,配置hadoop:(1)$HADOOP_HOME/conf/hadoop-env.sh中添加:expo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 980 PageRank MapReduce 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5736373.html