第42卷 第 5期 上海师范大学学报(自然科学版) Vol.42,No.5
2013年 10月 JournalofShanghaiNormalUniversity(NaturalSciences) Oct.,2013
基于 MapReduce的 HITS算法的实现
余 辉,王笑梅
(上海师范大学 信息与机电工程学院,上海 200030)
摘 要:在对 HITS算法和基于 MapReduce编程模型的云计算框架 Hadoop的研究基础上,利
用 Hadoop来重新设计并实现 HITS算法.同时,在实验中分析了不同 blocksize和集群规模对
算法执行效率的影响.实验表明:当 blocksize过大时,由于没有充分利用集群的并行特性,算
法效率逐渐降低,而适当扩大集群规模,算法运行效率会逐渐提高.
关键词:HITS;MapReduce;Hadoop;分快大小;集群
中图分类号:
TP311.1
文献标识码:
A
文章编号:
10005137(2013)05047605
收稿日期:20130617
作者简介:余 辉(1988-),男,上海师范大学信息与机电工程学院硕士研究生;王笑梅(1970),女,上海师范大学
信息与机电工程学院副教授.
通信作者
0 引 言
HITS算法是一种基于“导航页”和“权威页”的迭代算法
[1]
,用于计算每个网页的重要性.由于处理
的网页数量巨大,普通的串行实现效率太低,在这种情况下,考虑使用 MapReduce编程模型来实现 HITS
算法成为必然.MapReduce编程模型最早由 Google公司提出
[2]
,用于并行处理大规模数据集,并逐渐成
为云计算的核心技术之一.MapReduce的开源实现框架 Hadoop
[3-4]
是一个优秀的并行编程平台,它克
服了传统并行计算框架 MPI的不足,实现了计算向存储迁移
[5]
,在处理密集型的大规模数据集时有很
大的优势.
1 HITS算法与 Hadoop框架
1.1 HITS算法
HITS算法对网页重要性的计算有两个度量准则,第一个是网页作为导航页的重要性,即它的导航
度;第二个是网页作为权威页的重要性,即它的权威度.网页的导航度和权威度分别用 n维向量 h和 a
表示,第 i个网页的导航度为向量 h的第 i个分量,权威度为向量 a的第 i个分量.为了计算出向量 h和
a,还需要一个 n×n维的连接矩阵 L和它的转置矩阵 L
T
,如果 L
ij
=1,则表示第 i个网页到第 j个网页存
在链接,如果 L
ij
=0,则表示两个网页之间没有关联.
一个网页的导航度依赖于这个网页所链出网页的权威度,权威度依赖于这个网页所链入网页的导
航度,所以有以下公式:
h=La, (1)
a=L
T
h. (2)
由权威度 a计算出导航度 h,再由导航度 h计算出权威度 a.显然,这是一个迭代过程,第一次迭代时取
a为 n维全 1向量.由于迭代过程中 h和 a的分量可能会急剧增大,所以需要做归一化处理: