论文部分内容阅读
随着互联网的飞速发展,随之产生的数据量也急速膨胀,互联网数据挖掘领域中的传统聚类算法无法满足海量数据处理的要求。特别对于文档聚类而言,传统的聚类算法主要处理人工数据集,并且文档数据倾向于小型,以适应单机处理。但是,在文档聚类领域,这并不现实,因为文档数据集往往巨大而且充满噪音。云计算是一种新的专注于大数据和分布式并行处理的平台,近年来发展迅速,在商业上取得了初步成功,也引起了学术界的注意。在云计算时代,可以利用云计算平台重新设计和实现传统的聚类算法,降低时间和空间复杂度,高效地解决大数据的存储和计算所遇到的瓶颈问题。Apache Hadoop是关于云计算的开源项目,允许在廉价的大量集群上通过简单的MapReduce计算模型来分布式处理大数据集。从过去依赖昂贵的硬件转而利用廉价节点间的分布存储和并行计算来获取高可用性。此外,Hadoop能够侦测和解决节点失效的问题,从而能够提供在集群上个别节点失效的情况下的高可用性服务。其中MapReduce计算模型在底层依赖于HDFS(Hadoop Distributed File System)文件系统,此分布式文件系统支持集群节点的本地存储和计算。Apache Mahout是一个数据挖掘和机器学习领域的开源的算法库,这些算法都是建立在MapReducc编程模型和HDFS文件系统之上实现的。本文以经典聚类算法为例,深入讨论基于Mahout的聚类算法的并行分布式设计和实现。同时改进相关算法,总结聚类算法设计的一般方法和技巧。可以预期Mahout是一个处理大数据的优秀平台,但它的性能并没有被充分的测试。所以本文在讨论聚类算法的并行设计和改进的同时,会通过实验来测试多个并行算法在该平台下的性能及效果,以及初步讨论Mahout/Hadoop是否是一个优秀的大数据处理平台。