论文部分内容阅读
互联网应用的种类和形态在不断地发生变化,同时也在不断地影响着人们生活的各个方面,而且互联网上产生的数据量也在以我们无法想象的速度迅猛增长。如今,海量数据集的存储与处理已经成为各个企业面临的一大挑战,也越来越受到各个企业的重视。他们不仅需要管理好自己的数据,更需要从其他组织或企业的数据中获取有价值的信息,以便在未来取得更大的成功。此时,对海量数据的处理能力已成为现代企业的核心竞争力之一。从大量的数据中挖掘出与企业相关的有价值信息,并加以分析和应用,转化为可理解的知识,帮助企业科学决策的数据挖掘技术成为新的研究热题。近几年来云计算的兴起,为数据挖掘技术的发展提供了重要的机遇,成为了解决这个问题的有效途径。它通过把大量的高度虚拟化的资源管理起来,组成一个大的资源池,将大量数据的存储与计算均匀分布在集群中,从而实现了强大的存储和计算能力[2]。同时,集群中的节点都可以是廉价的计算机,不必使用高昂的服务器,大大降低了成本。由于云计算技术的出现,数据挖掘技术步入了一个以云计算为基础的崭新时代。有许多数据挖掘技术,其中决策树分类算法作为一个经典的数据挖掘方法,它通过对大量数据的属性值进行分析,构造决策树,来发现数据中蕴涵的分类规则。它是一种很有效的分类方法,已经引起许多研究人员的重视。至今为止,人们已经提出了许多的决策树分类算法,各个算法的执行效率、扩展性能、结果的可理解性、分类结果的准确性等方面各有优势。然而,在数据增长大爆炸的时代,这些算法处理海量数据的性能总有些差强人意。云计算作为一个处理海量数据的良好途径,将算法布置在云计算平台中进行分布式计算是一个行之有效的方法。已有研究人员以各种方式将经典的ID3、C4.5、SPRINT等决策树算法并行化在云计算平台中运行,大大提升了算法的性能和处理海量数据的能力。Hadoop是一个开源的分布式计算云平台,它的两个重要机制是分布式文件系统HDFS和MapReduce,主要功能是为开发者提供一个分布式框架,可以方便的进行分布式应用程序开发。HDFS具有较高的容错性和很强的伸缩性特点,开发者只需要使用比较廉价的处理器就可以配置集群系统,此外,MapReduce分布式编程模型可以让开发者不需要很了解系统最底下的细节就可以进行分布式应用程序的开发。因此开发者完全可以利用Hadoop平台的超强的计算和存储的能力,来完成海量数据的处理。对于传统的数据挖掘算法,我们可以对其并行化,然后根据它们自身的特点,研究MapReduce编程框架,将这些算法部署到Hadoop平台上,最终高效的处理海量数据。本文通过研究各种决策树分类算法的并行方案后,并行设计C4.5算法。同时深入研究了解云计算和开源云平台Hadoop的核心架构和运行机制,根据Hadoop的MapReduce编程模型,详细描述C4.5并行算法在MapReduce编程模型下的实现及其执行流程。最后,将此并行算法在Hadoop平台上实现,对输入的海量文本数据进行分类,验证算法的高效性和扩展性。