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

来源 :南京大学 | 被引量 : 0次 | 上传用户:tops881017
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动互联网与物联网的技术的飞速发展,人类收集的数据量呈指数级增加。分布式计算已经成为大数据处理、分析过程中不可或缺的关键技术。分布式计算通过将计算任务分解为可并发执行的多个子问题并在互连的多台计算节点上同时运行,解决了传统算法面临的单机性能瓶颈、难以扩展的问题。关于分布式机器学习算法的研究也成为了工业界和产业界的研究热点。在众多的分布式计算框架中,Spark以其高容错、高可扩展和易用的特点得到了广泛的应用。但对其上实现的分布式算法的复杂度分析和比较仍缺乏同一的分析框架。因此,对具体算法在Spark平台上的可伸缩性以及性能无法进行理论上的分析与对比,只能进行经验分析。本文基于对Spark分布式平台的研究,提出了一种对Spark上分布式算法的复杂度分析框架,并以基于Spark的协同过滤算法作为应用场景。证明了通过该框架能够有效的指导算法的开发与运行时环境配置。具体地,本文做了如下工作:首先,本文首先对分布式计算和协同过滤技术做了介绍。分布式计算部分对流行的Hadoop和Spark分布式计算平台的计算模型、运行模型、设计理念都给出了具体分析,并对其原理给出了解释。协同过滤部分中,对基于内存的协同过滤和基于矩阵分解的协同过滤技术进行了分析,介绍了多种经典算法。然后,本文提出了一种对Spark上分布式算法的复杂度分析框架,并在此基础上对多种基于Spark的分布式协同过滤算法做了复杂度分析和实验分析,包括基于内存的协同过滤算法的三种并行化方法和基于矩阵分解的三种并行化方法。最后,本文设计了一款基于Spark的数据挖掘工具箱。工具箱通过将数据挖掘算法组件化,提供基于配置的数据分析应用开发模型,解决了分析人员难以使用Spark的问题。通过使用该工具箱,用户可以方便的使用各种分布式数据挖掘算法处理海量数据而无需编程能力,本文详细介绍了工具箱的功能与开发设计过程。
其他文献
随着信息技术,特别是互联网技术的飞速发展,计算机网络已逐渐成为21世纪全球最重要的基础设施。网络所代表的开放式信息系统是现代信息社会的发展趋势,而由于网络的开放性和复杂
随着电子技术和计算机自动控制技术的引入,报警设施的自动化、智能化水平在不断提高。同时,随着高层建筑和大型综合性建筑的增加,使报警系统更加复杂化和立体化,对报警系统的
本文在研究了XML和Web软件系统模型相关技术的基础上,设计了一套基于XML的Web软件系统模型。该模型由XML数据处理模型、Web服务的安全模型以及XML的显示模型三部分组成。XML数
随着信息时代高新技术的飞速发展,灯光效果控制器广泛应用在广告、宣传、舞台装饰等场合,获得了很好的效果。但现有的灯光效果控制器,其显示方式和控制方式单调,无法形成大型
应用偏微分方程处理图像是近年来在图像处理领域兴起的一种新方法。本文对基于PDE模型的图像恢复方法进行了研究。在图像恢复中,噪声的滤除和图像边缘、细节的保护是一个难以
混合约束问题具有广泛的应用,如分析基于状态的需求规约、生成软件的测试用例、分析并行化的数据相关性问题等等。对于这类问题的求解,目前的许多方法只能求解单独的某一类约束
本文深入分析了Windows2000下的PCI声卡的WDM驱动程序体系结构和开发技术,对开发过程中的关键步骤和问题进行了详细的讨论和分析。论文采用了由普遍到特殊的研究方法,从DDK自带
陆军分队战斗部署是对陆军分队战斗编成内的兵力进行任务区分、编组和配置,是陆军分队战斗决心的重要内容。确定陆军分队战斗部署,是筹划与组织陆军分队战斗的重点。合理的陆军
P2P技术使网络资源得到充分的利用和最大化的共享,正吸引着越来越多的用户参与其中。由于P2P应用研究的初衷是促进信息的共享,因而对信息的安全性考虑不足,使得P2P网络中的访
Ontology是对一个特定领域中重要概念的共享的形式化的描述,由于具有明确性和共享性,它可以作为领域内不同主体之间进行交流的语义基础;更进一步的,Ontology可以帮助机器理解文