论文部分内容阅读
随着信息化社会的迅速发展,无论是当前的Web搜索、物联网系统、传感器网络等领域,还是传统的工业、医疗、金融、交通等行业,实时都会有数据在产生。这些数据由于产生速度较快,数据量较大,数据格式比较复杂,将这些流数据存储下来不仅成本高,且实现实时的数据分析较困难。而数据分析中的聚类是一种无监督的学习,其过程是根据集合中数据的相似度进行划分,使得同类中的数据的相似度高,而不同类间的尽可能低。根据实时产生的流数据的特点,传统的聚类算法并不能实现实时地分析。所以,如何对流数据进行实时的聚类分析成为当今数据挖掘方向的一个热点问题。近年来,伴随着大数据分布式处理框架的逐步成熟,对流数据实时、高效率、稳定的分析处理有了新的实现思路。相较于Hadoop平台,Spark平台本身所具有的基于内存计算的优势,使得Spark平台在算法运算迭代过程中将中间结果缓存于内存,减少了磁盘的读取次数,达到节省算法运行的时间的目的。同时,Spark还具有高容错率以及高吞吐量等优势,让Spark成为了流数据聚类挖掘中应用十分广泛的计算模型之一。本文通过将流数据聚类算法与分布式内存计算框架相结合,进行了以下几个方面的研究:(1)首先,对传统的聚类算法和流数据聚类算法进行了分析与研究,对不同的聚类算法根据其特征的不同进行了划分,总结出了各类算法的优缺点。对Hadoop、Storm平台的原理以及基本架构进行了分析,同时对Spark平台的特点与相关核心模块进行了分析。(2)其次,针对流数据所具有的实时性的特点,基于流数据聚类算法Clustream,提出了SClustream算法。SClustream的在线微聚类层通过引入时间权值函数来解决历史数据问题;离线宏聚类层基于模拟退火算法(SA)思想对K-Means算法进行改进,通过SA对K-Means聚类结果进行全局寻优,一定程度上优化了聚类结果,最终使得SClustream聚类算法结果的准确度得到了的提升。(3)最后,通过对Spark平台的分析,实现了Clustream以及SClustream优化算法的并行化,并基于Spark平台运行。通过对两种算法进行一系列的分析对比实验,分析与解释了本文中提出的优化算法在分布式内存计算框架下的运行效率以及优势,表明了SClustream并行化算法较Clustream在聚类准确度、加速比等方面得到了一定程度地提升。