论文部分内容阅读
随着网络大规模普及以及互联网技术高速发展,我们生活在数据时代中。然而日益增长的数据量使用户感到困惑与迷茫。如何存储与分析、如何挖掘潜在的信息则成为亟待解决的关键问题。推荐系统作为实现快速、全面、准确过滤大量数据的应用,从而让用户处于新的层面上做深入分析。推荐系统的核心算法隶属于数据挖掘部分,随着用户基数以及产品数的递增而导致算法实现过程需耗费大量的时间,无法满足当今商业需求,因此结合分布式计算平台并行化实现则成为有效的解决方案。同时在大数据生态圈中,引入基于内存迭代分析框架Spark迎合推荐算法并行化计算的需求。基于国内外对Spark平台的应用研究以及基于Hadoop平台的推荐系统设计与实现,本文在了解弹性分布式数据集RDD及推荐算法基础后,设计与实现基于Spark的推荐系统。其主要工作包括以下几方面:(1)推荐算法的并行化计算研究。首先针对MapReduce作为批处理框架而不善于处理迭代计算的特征,以Spark平台为基础,实现推荐算法的并行化计算;其次以推荐引擎为基础结合混合式推荐理论,分析用户历史行为数据以及用户评分记录建立用户偏好模型;最后基于推荐系统理论的研究,明确推荐系统的逻辑架构并详细设计整体基础架构。通过大数据平台以及内存迭代计算框架进行分布式并行化处理,体现系统的可扩展性以及良好的并行性。(2)实现定制化Ganglia以及Nagios混合监控。推荐系统基于大数据平台,实时监测以保证平台的稳定性则至关重要。针对Ganglia默认加载全部监控页面而导致Web端极易崩溃的现象,因此本文对Ganglia系统进行改进优化。优化内容包括:首先根据自身应用所监测的参数,定制地抽取出相应的监测数据集;其次结合Memcached机制,缓存监测图片信息,从而有效降低服务器压力。通过Nagios完善平台的预报警功能。本文通过实验表明,在多迭代并行化计算过程中,Spark计算框架的整体性能优于Hadoop o此外通过用户偏好模型而获取到的组合推荐结果,其评测指标优于单一推荐结果。定制化Ganglia监控通过针对性的读取监测参数以及缓存机制,大幅度的降低系统整体开销。