论文部分内容阅读
在分布式计算为主流的时代背景下,基于MapReduce框架的分布式应用频繁的I/O操作使得它的效率和性能不能够得到完美的体现。基于RDD的Spark分布式计算框架能够将数据加载进内存,极大的适应了迭代式机器学习模型的特定需求。针对目前基于MapReduce设计实现的机器学习模型存在的问题(主要是MR的本质问题),研究了基于Spark的机器学习模型,主要包括KMeans聚类、ALS协同过滤。并且研究了基于Spark Streaming的在线机器学习模型。以下是文章的主要分析与研究内容简介:(1)文章基于Spark分布式计算框架设计并实现了并行KMeans聚类模型,并通过该模型在不同规模的MovieLens数据集上进行训练比对实验,结果表明,该并行KMeans聚类模型适合运行在分布式集群环境下,且并行化计算效率也有不俗的表现;其次通过repartition算子设计分片加载数据,优化并行方案,有效减少了模型的训练时间。(2)针对基于MapReduce框架处理海量数据实时响应能力较差的问题,设计并实现了基于Spark Streaming的在线计算模型进行大规模的KMeans聚类分析。该模型将整个过程分为数据接入、在线训练等模块,各模块通过数据流连通形成任务实体,提交到Spark分布式集群运行完成。通过比对分析实验和性能检测,验证了该在线KMeans聚类模型具有高吞吐、低延迟的优势,且集群运行状况良好。(3)ALS(最小二乘法)协同过滤推荐算法是通过矩阵分解进行推荐,它通过综合大量的用户评分数据进行计算,并存储计算过程中产生的大量特征矩阵。Hadoop的HA(高可用性)用来解决HDFS分布式文件系统的NameNode单点故障问题。Spark作为一种基于内存的新型分布式大数据计算框架,具有优异的计算性能。文章基于QJM(Quorum Journal Manager)构建了 HA下的Hadoop大数据平台,并在Spark计算框架基础上研究使用ALS协同过滤算法,实现基于ALS协同过滤算法在Spark上的并行化运行;通过和基于Hadoop的MapReduce思想的ALS协同过滤算法在Netflix数据集上的比对实验表明,基于Spark平台的ALS协同过滤算法的并行化计算效率有明显提升,并且更适合处理海量数据。