论文部分内容阅读
随着互联网/移动互联网、数码设备、物联网/传感器等技术的发展,社会信息化不断推进,全球数据生产速度在飞快增长。这种数据的巨大规模、广泛存在和爆炸式增长使我们真正存在于一个大数据时代。关联规则挖掘技术是数据挖掘中的一个重要分支,它主要致力于发现和分析大量事务数据集中频繁存在的关联项,这些项与项之间隐藏着先前未知的,有潜在价值的知识和规则。在大数据环境下,经典的关联规则挖掘技术无法满足数据量庞大、数据结构多样、数据分布存储等特点。因此,需要结合已有的挖掘理论和模型,结合海量数据本身的业务特点,对传统关联规则算法进行改进,使其适用于当今流行的大数据计算引擎。本文结合大数据发展的特点以及关联规则挖掘研究现状,基于当下流行的大数据计算引擎Spark展开了关联规则算法的应用与研究工作。主要工作如下:首先,对大数据平台架构进行解析。研究和分析了Hadoop生态系统中用于存储海量数据的HDFS分布式文件存储组件,此外重点研究了大数据分析引擎Spark,包括其体系结构、程序的执行过程、以及Spark计算单元RDD的运行逻辑和缓存机制。其次,对关联规则算法原理以及其优化方向进行研究。本文首先对经典的关联规则算法Apriori做了分析和深入理解。另外,深刻分析了基于Spark平台已有的并行化算法R-Apriori算法。针对经典关联规则Apriori算法存在的两大缺陷:(1)算法迭代过程需要频繁扫描事务数据集,产生大量的I/O开销。(2)算法计算频繁项集会产生大量候选集。本文采取了改变数据存储结构和优化候选集连接过程两大方法对算法进行改进。实验结果表明改进后的Apriori算法扫描数据库时间减少,并且候选集生成时间随着项数的增加成指数下降。然后,本文结合Spark的并行机制,对Spark计算引擎进行了深度解析,理解了Spark计算单元分布式弹性数据集的数据转换过程,并举例说明了并行化改进算法在Spark平台上的运用,验证了算法的可行性。最后,本文基于以上的方法与理论,突破传统串行算法Apriori固有的局限性,搭建Spark实验集群,实现了Spark计算框架下改进Apriori算法的并行化。实验从四个不同角度对本文提出的算法进行性能评价,结果表明该算法在数据伸缩性、不同支持度执行性能以及可扩展性方面都优于基于Spark平台的R-Apriori算法。