论文部分内容阅读
自2007年以来,云计算已经逐渐成为国际IT界比较热门的概念,随着数据量的激增,如何快速高效地存储和计算海量数据成为目前科学界迫切需要解决的问题,而这类问题恰恰是云计算推出的动力之一,使得云计算的普及和应用已经成为业界不可回避和逆转的趋势。但是就云计算本身说,它只是一种思维模式,要想真正发挥它的优势,除了必要的硬件设施之外,更重要的是要有支撑和实现云计算思想的编程模型,而Google提出的MapReduce并行编程模型,以其简单有力的接口使得并行处理变得简单易行,为云计算中海量数据的计算提供了软件支持。本文详细分析了Google MapReduce及其底层文件存储系统GFS的概念、优点和实现机制。然后针对MapReduce的执行流程中对中间结果数据的处理机制不灵活,没有在第一时间减少中间结果的数量的缺点,在MapRedeuce的map函数中引入关联数组,可以使中间结果的合并操作在Map函数中自动进行,更有效的减少中间结果的数量,降低网络负担,从而提高系统的执行效率。本文在对MapReduce进行改进之后,设计和实现了基于MapRedeuce的文本分类器。在文本处理和数据挖掘领域,海量数据的分类问题是经常遇到的,然而传统的算法只能适应于小规模的数据,随着数据量的增大,算法的执行速度越来越慢,实时性越来越差,成为传统数据挖掘的瓶颈。这种新的分类器构建方法在集群中并行地实现分类器的构建,大大提高了效率,使得算法具有更好的实时性。为了验证MapReduce改进之后的性能,我们采用Mapreduce的开源实现Hadoop来进行实验,以运行时间作为衡量算法的标准,结果证明新的算法的效率比传统的算法要高的多。对于分类器的实现,我们也是在Hadoop平台下进行的,通过结果对比可知,基于MapReduce的分类器的具有更好的效率和可扩展性。