论文部分内容阅读
随着科技的飞速发展,人们基于互联网所产生的数据呈现出爆炸般的增长态势。传统的计算机体系架构在大数据面前显得力不从心。云计算的提出,为复杂的大数据处理提供了新的解决方案。Hadoop是Apache基金会的开源项目之一,它基于普通商用计算机集群,展现出了卓越的计算能力、存储能力与调度能力。数据挖掘技术也以此为契机,进入了一个飞速发展的阶段。本研究基于Hadoop平台,在充分学习分布式程序的运行机理基础之上,对几种具有代表性的数据挖掘算法的实现思路与方法进行了深入研究,提出了将它们向分布式平台改造的方案,并实现了可以良好运行的Hadoop版本,从而帮助广大数据挖掘从业人员更好地基于该平台开展各项工作。课题研究的主要内容有:(1)针对传统的以文本方式存储的数据,基于MapReduce分布式编程框架,从数据挖掘三大类算法:分类、聚类和关联规则挖掘算法中,分别取每一类中有代表性的一种,分析算法的运行原理,制订改造方案,针对朴素贝叶斯分类算法、K-modes聚类算法、ECLAT频繁项集挖掘算法,进行了分布式算法的实现,它们均能够基于Hadoop平台高效、稳定运行。(2)针对互联网中新兴的非结构化数据,采用HiveQL语言作为检索入口,基于HBase分布式数据库,实现能够在其中稳定运行的分布式GAC-RDB分类算法。它使用高层语言作为切入点,不需要拥有诸如Java、MapReduce等背景知识,将开发人员从各类底层繁琐代码中解放出来,把主要精力投入到具体的业务分析中去,从而更快速、更便捷地完成各类数据挖掘任务。基于西北农林科技大学高性能计算集群,设计了多组方案对改造后算法的有效性和Hadoop平台的高效性进行了实验验证,将数据绘制成曲线并从多个角度进行了分析。实验结果表明,在保证算法有效性和准确率的前提下,MapReduce编程框架可以有效提高程序的运行效率,降低数据的处理时间;HiveQL查询语言可以减少程序的开发周期,更加方便地处理各种存储在分布式数据库中的数据。