基于Spark的分布式协同过滤及工具研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:tops881017
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动互联网与物联网的技术的飞速发展,人类收集的数据量呈指数级增加。分布式计算已经成为大数据处理、分析过程中不可或缺的关键技术。分布式计算通过将计算任务分解为可并发执行的多个子问题并在互连的多台计算节点上同时运行,解决了传统算法面临的单机性能瓶颈、难以扩展的问题。关于分布式机器学习算法的研究也成为了工业界和产业界的研究热点。在众多的分布式计算框架中,Spark以其高容错、高可扩展和易用的特点得到了广泛的应用。但对其上实现的分布式算法的复杂度分析和比较仍缺乏同一的分析框架。因此,对具体算法在Spark平台上的可伸缩性以及性能无法进行理论上的分析与对比,只能进行经验分析。本文基于对Spark分布式平台的研究,提出了一种对Spark上分布式算法的复杂度分析框架,并以基于Spark的协同过滤算法作为应用场景。证明了通过该框架能够有效的指导算法的开发与运行时环境配置。具体地,本文做了如下工作:首先,本文首先对分布式计算和协同过滤技术做了介绍。分布式计算部分对流行的Hadoop和Spark分布式计算平台的计算模型、运行模型、设计理念都给出了具体分析,并对其原理给出了解释。协同过滤部分中,对基于内存的协同过滤和基于矩阵分解的协同过滤技术进行了分析,介绍了多种经典算法。然后,本文提出了一种对Spark上分布式算法的复杂度分析框架,并在此基础上对多种基于Spark的分布式协同过滤算法做了复杂度分析和实验分析,包括基于内存的协同过滤算法的三种并行化方法和基于矩阵分解的三种并行化方法。最后,本文设计了一款基于Spark的数据挖掘工具箱。工具箱通过将数据挖掘算法组件化,提供基于配置的数据分析应用开发模型,解决了分析人员难以使用Spark的问题。通过使用该工具箱,用户可以方便的使用各种分布式数据挖掘算法处理海量数据而无需编程能力,本文详细介绍了工具箱的功能与开发设计过程。
其他文献
随着电子技术和计算机自动控制技术的引入,报警设施的自动化、智能化水平在不断提高。同时,随着高层建筑和大型综合性建筑的增加,使报警系统更加复杂化和立体化,对报警系统的
随着信息时代高新技术的飞速发展,灯光效果控制器广泛应用在广告、宣传、舞台装饰等场合,获得了很好的效果。但现有的灯光效果控制器,其显示方式和控制方式单调,无法形成大型
本文深入分析了Windows2000下的PCI声卡的WDM驱动程序体系结构和开发技术,对开发过程中的关键步骤和问题进行了详细的讨论和分析。论文采用了由普遍到特殊的研究方法,从DDK自带
P2P技术使网络资源得到充分的利用和最大化的共享,正吸引着越来越多的用户参与其中。由于P2P应用研究的初衷是促进信息的共享,因而对信息的安全性考虑不足,使得P2P网络中的访