基于MapReduce的相似性连接研究
随着社会网络、移动应用及在线服务等信息技术的广泛应用和不断发展,数据呈爆炸式增长,海量数据的分析需要强大的计算能力。相似性连接作为数据分析的一个基本操作,在相似搜索、数据挖掘上它可被用来大幅度地提高计算速度,提升计算效率。相似性连接类似于数据库连接,不同点在于,相似性连接是针对不同的数据类型,采用相应的度量函数以及阈值限定,通过函数度量后再做相应的连接操作。 单台计算机的处理能力以及传统的技术架构已经很难满足海量数据处理的计算要求,但是MapReduce软件框架的出现为海量数据下的相似性连接带来了曙光。目前,MapReduce下相似性连接技术已经取得了较好的研究成果,但仍存在一些问题:处理速度仍不够快、处理数据类型较单一、不能有效处理动态数据等等。针对数据处理速度的问题,本文提出了改进的基于划分的算法和改进的基于前缀过滤的算法,可以提高相似性连接的计算效率。以下是本文的主要研究内容: 1、采用分而治之的策略,借鉴 QuickJoin算法,本文提出了改进的基于划分的算法(MRSJ_PDS算法),将海量数据分解为若干个规模较小的数据集,并分散至 MapReduce分布式集群上,再进行相应的相似性连接操作。主要内容有:(1)进行数据的划分操作之前,对原始数据集进行采样,采用聚类算法计算出有效的聚类中心(亦即中枢),再根据有效中枢将原始数据集划分并形成分区(其大小未超过单个节点上能计算的块大小)。同时,为了有效并充分利用计算过程中产生的数据,避免对数据进行多次重复计算。本文采用索引技术存储中间数据,即为满足条件的分区建立 K-D树索引,进而获取所有相似对。实验证明,该方法能够有效减少数据的划分次数,并有效地降低了相似对验证的频率,与之前的算法进行比较该算法的运行效率有明显的提升。(2)在现实世界中广泛存在着动态数据,可以将部分数据作为原数据集上新增数据,针对新增数据的相似性操作,本文设定了相应的分配原则,每个新增数据会进入到对应的分区,最终获取新增数据的相似对。 2、在侦查近重复网页、屏蔽恶意广告、推荐相似用户等应用中,集合相似性连接技术被广泛使用。通常,集合相似性连接技术采用过滤-验证这样的计算框架,利用前缀过滤剪枝技术缩短候选集列表,但是在 MapReduce平台下,这样的算法会产生大量的候选集,增加相似对的验证时间。本文提出了改进的基于前缀过滤的MapReduce相似性连接算法(MR_MinPrefix算法),利用最小前缀过滤技术对 token索引列表进行更好的剪枝操作,降低候选集生成的代价,并保存记录的相关信息到指定文件中,便于后续到来数据的相似性连接。在新增数据相似性连接操作时,采用传播延迟策略,延迟更新全局 token频数、索引列表等相关信息,最终获取所有相似对。
海量数据;相似性连接;MapReduce软件框架;聚类算法;传播延迟
宁波大学
硕士
计算机应用技术
陈华辉
2014
中文
TP311.13
70
2015-08-17(万方平台首次上网日期,不代表论文的发表时间)