基于MapReduce的海量数据K-means聚类算法 (3)

而在大数据时代下,聚类分析的对象规模多是海量的,维度大多是高维的,传统的数据分析方法与数据存储手段已经无法满足数据存储分析的需求。上文介


而在大数据时代下,聚类分析的对象规模多是海量的,维度大多是高维的,传统的数据分析方法与数据存储手段已经无法满足数据存储分析的需求。上文介绍的云计算技术与当下流行的MapReduce编程模型就成为了能解决聚类分析中海量数据存储与分析的技术平台与解决手段。

1.2  研究现状分析

1.2.1  MapReduce研究现状

1.2.2  基于MapReduce高维数据聚类研究现状

1.3  总体技术方案及社会影响

本课题通过结合改进的UPGMA算法进行K-means初始簇中心候选队列的筛选,再利用最大最小距离法合理选取相隔较远的合适数量初始中心,以此选取高质量的K-means算法初始聚类中心,从而提高K-means算法聚类有效性,命名为OICP K-means算法。在待处理数据量大的实例下,提出基于抽样与OICP K-means算法的并行处理方案。

1.4  技术方案的经济因素分析

由于Hadoop是基于廉价商用机的可扩展集群的系统,所以硬件本身的消耗可以按使用客户的需求按需搭建或者按需分配,对于本课题提出的基于抽样与OICP K-means算法的并行

处理方案,可以通过减少计算量从而降低机器集群的能耗。

1.5  主要工作与创新点

  本文针对课题要求首先对MapReduce与Hadoop相关知识进行了综述,然后对聚类方面的知识进行了概述。主要完成了如下工作:

(1)对聚类分析中的K-means算法进行了性能分析,并提出了优化初始中心选取,提高聚类性能的OICP K-means算法并编码实现,同时对比传统K-means算法进行实验测试性能。

(2)对聚类外部评价中的F-measure方法做了详细介绍并实现,在实验分析时进行使用。

(3)针对课题要求,查阅相关资料,在Windows操作系统下利用Cygwin搭建了Hadoop运行环境。

(4)设计实现了基于MapReduce的K-means算法,并对算法进行测试,对比传统单机算法,验证并行编程对聚类结果的影响。

创新点:

(1)针对海量数据的数据集设计了一套基于抽样与OICP K-means算法的并行处理方案。

(2)对聚类分析中的K-means算法进行了性能分析,并提出了优化初始中心选取,提高聚类性能的OICP K-means算法并编码实现,同时对比传统K-means算法进行实验测试性能。

2  预备知识与相关技术概述

2.1  Hadoop平台概述

Hadoop是分布式系统的一类基础架构,作为Apache的顶级开源项目,它是Googlet提出的MapReduce最负盛名的开源实现。Hadoop系统下有许多子项目,其中最基础的架构包括HDFS、MapReduce、Hbase、ZooKeeper。

2.1.1  HDFS

HDFS是Hadoop的分布式文件系统,能够提供海量数据存储运算所需的高吞吐量。它部署于低成本的普通硬件上,具有良好的扩展性,同时也是有高容错性的。适合作为数据集超大的应用软件的文件系统。HDFS的体系结构是主从式的,一个HDFS集群包括一个NameNode(有的集群会设置SecondaryNameNode,用于提高NameNode的健壮性)与若干DataNode(一般由集群中机器数量决定)。其中NameNode是在集群中的单独一台机器上运行的软件,它管理文件系统本身的命名空间,并与外部客户机访问请求做交互。相似地,DataNode也是运行在单独机器上的软件,该机器用于存储数据块。DataNode负责实际处理来自客户的读写操作,同时还要处理数据块的创建、删除等操作。HDFS的读写单位是块,块的大小与其副本数量在文件创建时由客户机决定。