第 39 卷第 3 期 应用科技 Vol.39, No.3
2012 年 6 月 Applied Science and Technology Jun. 2012
doi:10.3969/j.issn.1009-671X.201112024
基于 MapReduce 的大规模图挖掘并行计算模型
饶君, 张仁波, 东昱晓, 吴斌
北京邮电大学 计算机科学与技术学院,北京 100876
摘 要:在如何快速发现大规模网络的结构和特性问题中,网络规模及复杂度的快速增长给其分析研究带来了新的挑战.
MapReduce 及其开源实现 Hadoop 给大规模图的高效处理带来了希望. 基于 MapReduce 框架的集群系统,提出了 1 种新
的计算模型用于大规模图形的 3-clique 计算,来实现图挖掘. 计算的基本步骤是:首先获取每个节点的第 1 跳信息,然
后是第 2 跳信息,最后得到所有基于该节点的 3-clique. 该计算模型可以用来计算聚集系数,并且可以用于三大通话网
络的挖掘. 实验结果证明这种计算模型具有良好的可扩展性和性能.
关键词:图挖掘;社会网络分析;MapReduce;聚集系数;3-clique
中图分类号:TP311 文献标志码:A 文章编号:1009-671X(2012)03-0056-05
A parallel computing model for large-graph mining with MapReduce
RAO Jun, ZHANG Renbo, DONG Yuxiao, WU Bin
School of Computer Science, Beijing University of Posts and Telecommunication, Beijing 100876, China
Abstract: Large-scale graphs exist everywhere. The continued exponential growth in both the size and complexity of the
graphs is posing a new challenge for finding the structures and characters of a large-scale graph. An excellent promising clue
for dealing with graphs with great sizes is the emerging MapReduce framework and its open-source implementation, Hadoop.
The problem of 3-clique enumeration of a graph is an important operation that can help structure mining and a difficult
mission for graphs with great sizes on the single computer. In this paper, we propose a parallel computing model for 3-clique
enumeration based on cluster system with the help of MapReduce for large-scale graphs. The process of enumeration is firstly
to extract one-leap information of the graph, then the two-leap information and finally, the key-based 3-clique enumeration.
Also, we apply the computing model to the computation of clustering coefficient. The computing model is applied to three
real-world large CALL graphs and the results of the experiments manifest the good scalability and efficiency of the model.
Keywords: graph mining; social network analysis; MapReduce; clustering coefficient; 3-clique
网络无处不在,对于网络的分析,如万维网、社
会网络、计算机网络和生物学网络,尤其是大规模网
络的分析,越来越受到人们的重视
[1]
. 传统的社会网络
分析基于单机系统,受内存和程序执行时间的限制,
数据集规模较小
[2]
. 现在急需一种高性能分布式的系
统能够对大规模网络进行分析计算. Google 文件系统
(GFS)
[3]
和 MapReduce
[4]
就是这种已经被证明了的利
用大型集群并行处理大量数据的系统. 网络结构的挖
掘是社会网络分析中非常重要一块儿.
1
而在这一部分
中,列举网络中所有的 3-clique 已经引起人们越来越
多的关注,并且取得部分成果. Buriol
[5]
等人采用近似
收稿日期:2011-12-25.
基金项目:国家自然科学基金资助项目(60905025, 90924029, 61074128)
.
作者简介:饶君(1989-),男,硕士研究生,主要研究方向:数据挖掘
与复杂网络, E-mail:raojun_06@126.com.
算法来计算 3-clique 的个数. Chu 和 Cheng
[6]
利用磁盘
外存给出了一个高效的列举 3-clique 的算法.
在文中通过计算 3-clique 来计算大规模图的聚集
系数. 聚集系数是图的最重要参数之一. 此外该计算
模型还可用于寻找图中的极大团. 由于在现实网络
中,随着规模的增大,复杂性成指数增长,计算大型
图的聚集系数是一项极具挑战性的任务
[7]
.
基于以上问题,首先提出了一个并行计算模型,
该模型利用 Hadoop 找到网络中的 3-cliques. Hadoop
[8]
是并行计算模型 MapReduce 的一种开源实现,对于程
序员来说高效方便. 然后通过这个计算模型,可以用
一种高效、可扩展的方式计算聚集系数. 最后文中使
用了有数百万条边的网络来检验该并行算法.