论文部分内容阅读
在信息社会高速发展的现状下,我国同样紧跟世界的步伐,迅速发展,在这样的高速度发展状态下,无疑会产生海量数据,数据的分类也是无法避免其杂乱无章,对于海量数据的整理归类需求急剧增加。在这样的背景下,就产生了如下两个问题,第一个问题是传统的聚类算法已经无法满足如今数据复杂度的需求,对算法的优化改进或者提出新的算法迫在眉睫。第二个问题是单台机器的硬件配置瓶颈已经无法满足对海量数据的处理。那么集群模式的分布式平台在大数据处理方面逐步替代传统的单机服务器。特别是基于内存的Spark分布式计算框架的出现,让绝大部分的海量数据的处理问题迎刃而解。本文针对聚类算法BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)进行优化改进,并实现其在Spark分布式计算框架上的并行运行。对BIRCH算法的分析改善,本文完成的主要工作内容如下:(1)针对海量数据先进行汇聚预处理,具体的操作是对数据进行压缩,减少数据量,减轻海量数据处理压力。在压缩之前,备份原始数据,谨防丢失。(2)针对BIRCH算法输入数据顺序敏感性的特点,本文首先使用K-means算法将数据进行粗略的聚类操作,簇的个数比较少,阈值参数比较大,目的就是快速给出k个簇。针对k个簇进行全排列操作,最后根据排列数的大小选取全部或部分排列进行下一步的聚类操作。(3)在BIRCH聚类算法的基础之上进行改进,使之能够在Spark平台并行化运行,本文在改进方法中引入K-means算法,BIRCH算法在集群中每个节点都形成聚类特征树,然后利用K-means算法实现并行性,从而让BIRCH算法能够在Spark平台并行化运行。通过实验,本文对聚类算法的改进在性能上有一定的提升,并且在移动GPS数据的分析上给出了一定的展示,对人口密集度的划分和区域高峰时间给出了良好的分析结果。本文的优化算法在系统的应用方面提高了分析计算的效率。