首页 理论教育高校图书馆大数据应用研究:实验结果与分析

高校图书馆大数据应用研究:实验结果与分析

【摘要】:两类数据均截至2016年12月31日。首先是Spark关联计算,将馆藏图书数据库和论文数据库聚合,构建RDD关联三元组,然后转换为GraphX图计算,实现对关联结果排名并保存到数据库中,最后开发Web实时系统显示文献查询结果。其中,“图书与图书”通过“中图法分类名”关联的三元组数目最大,达到14亿多条。这两类关联占三元组总数的比例近95%,共同构成“字符比较”关联的主体部分。这是因为计算过程中Spark中间结果存储在内存中,提高了性能。

实验采用如下数据:

(1)A高校图书馆馆藏图书数据库完整数据共1 227 724条;

(2)论文库由自行开发的爬虫软件互联网获取,经过去重处理后共473432条,其中包括期刊论文(361247条)和硕博学位论文(112185条)两种类型。

两类数据均截至2016年12月31日。

首先是Spark关联计算,将馆藏图书数据库和论文数据库聚合,构建RDD关联三元组,然后转换为GraphX图计算,实现对关联结果排名并保存到数据库中,最后开发Web实时系统显示文献查询结果。

1.Spark关联计算

因为Spark RDD关联三元组数目庞大,计算耗时较长,因而采用分布式集群离线计算方式。两类关联模式中,“相似度计算”的计算复杂度估计:馆藏的一百多万条图书数据(数量级106)需要与论文数据(数量级105)实现“图书与图书”“论文与论文”“图书与论文”三种不同方式的文献相似度计算,每种类型都通过双重循环,两两计算相似度,计算总复杂度为O(106×106+106×105+105×105)=O(1012);通过“字符比较”成功匹配而聚合形成的三元组数目见表4.1。其中,“图书与图书”通过“中图法分类名”(也称为关联媒介)关联的三元组数目最大,达到14亿多条。因为每个“中图法分类名”下包括的文献非常多,这些文献都要建立关联,因而数量最多;同理,“论文与论文”通过“关键词”的关联也占整个关联数目的比例较大。这两类关联占三元组总数的比例近95%,共同构成“字符比较”关联的主体部分。可以看出,“图书与论文”在“作者”上的关联数目最小。但此类关联跨越不同的数据库,是图书到论文交叉查询的基础。

表4.1 “字符比较”关联三元组

2.Spark性能分析

将Spark与大数据平台MapReduce比较以评估计算性能。实验中所构建的分布式集群硬件配置:由16个节点PC机(型号:DELL Vostro 3667-R1838;单台配置:i5-6400/8 G内存/1000 GB硬盘)和连接分布式系统的交换机(1000 M,24个接口)构成。以“字符比较”关联作为计算任务在两类平台上分别运行。Spark和MapReduce的计算时间如图4.5所示。相比MapReduce,Spark优势非常明显:如对于输出20×109数量级的RDD三元组,Spark耗时约40分钟,而MapReduce需要近900分钟,约为20多倍。这是因为计算过程中Spark中间结果存储在内存中,提高了性能。

图4.5 Spark性能测试与比较

3.Web实时显示系统

如图4.6所示为开发的Web原型系统界面的截图,显示为用户所查找文献的TOP 10列表,虚线部分是为了方便说明,作者手动添加上去的标记。标记①是用户浏览初景利的著作《图书馆发展变革与服务转型》[22]时,点击该图书链接,系统自动查找与该图书密切相关的文献。标记②是图书查找结果,因为该图书数据库中没有初景利撰写的其他图书,系统依据文献资源的关联关系排名,自动推送与主题密切相关的图书;标记③是初景利撰写的“高相关度”论文列表。

图4.6 Web实时显示系统