论文部分内容阅读
大数据时代数据资源越来越丰富,数据的呈现方式更多,如何将这些数据整合并进行科学分析,发现事务之间意想不到的关联,得出有价值的商业与科研数据具有重要意义,从大数据集中提取有用的信息是最重要的研究问题之一,而关联规则挖掘可以很好的实现这个目的。针对传统关联规则算法受限于计算机硬件限制无法处理海量数据的问题,论文改进了两种关联规则算法(Apriori和FP-growth),离线安装了Cloudera Manager5和CDH5并启动包括Hive,HBase,Impala,Spark等服务,通过实验验证了两种改进算法的有效性并对算法的集群可伸缩性和加速比方面进行了测试。具体研究内容如下:(1)Apriori改进算法(Spark+IApriori算法)。针对关联规则Apriori算法在信息爆炸时代面对海量数据时具有计算周期长,算法效率低等问题,论文将数据以key-value数据结构存储,在连接操作前进行剪枝操作,并且改变剪枝操作的判定条件,降低数据遍历次数;同时将改进算法IApriori与基于内存的大数据并行计算处理框架Apache Spark相结合,改进为一种基于Spark的Apriori改进算法(Spark+IApriori)。实验结果表明,Spark+IApriori算法在数据伸缩性和加速比方面都优于Spark框架下的Apriori算法。(2)FP-growth改进算法(SIFP算法)。FP-growth算法通过树形FP-tree树形结构提高挖掘效率,但FP-tree内存空间开销大,数据洪流下更凸显了算法的局限性,针对FP-growth算法的固有缺陷,论文在头指针表Header Table中添加HashMap类型和Flag变量,HashMap类型实现key-value数据结构存储,Flag变量判定FP-tree是否为单路径,然后将数据分块防止FP-tree过大导致内存溢出,同时并将改进算法与Spark计算框架相结合,改进为一种基于Spark的SIFP算法。实验验证了SIFP算法在运行效率上优于Spark+IApriori算法。