基于hadoop平台的混合推荐系统

时间:2022-09-21 02:28:20

基于hadoop平台的混合推荐系统

摘 要

随着科技的进步和网络的发展,人们不得不面对海量的信息数据,这些信息一般具有海量性、多态性、异构性、动态性、无结构化等特性。本文主要研究各种主流的推荐算法的优缺点,并在工程上设计推荐引擎组合。在对H adoop平台上的分布式文件系统HDFS和计算模型Map/Reduce进行深入分析和研究的基础上,给出基于H adoop平台的云计算混合推荐系统。

【关键词】云计算 H adoop HDFS Map/Reduce 混合推荐系统

1 引言

推荐系统的设计与实现也面临这样的问题,现有的许多用户数据都是从网站日志里来获取,而对于流量非常之大的电子商务网站来说,数据量是非常之大的。而通常用户信息以及商品数据如果使用单机进行处理,那是不可完成的任务。所以推荐系统中算法以及数据的存储都需要分布式框架来进行处理。目前出现的大数据处理框架当中,Hadoop毫无疑问是最流行的框架之一,HDFS分布式存储框架以及MapRedu。

2 Hadoop平台研究

Hadoop是一个分布式系统基础架构,是一个可以更容易开发和运行处理大规模数据的软件平台。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

HDFS 是采用主从架构模式的。在 HDFS 中有两种节点:一个名字节点(namenode)和多个数据节点(datanode)。

名字节点负责管理文件系统的命名空间,维护着文件系统结构树和其中的所有文件和索引目录。另外,名字节点还记录着每个文件的每个数据块所在的数据节点的位置,这些信息会随着每次系统启动时重新建立。客户端用户通过访问名字节点,获得所需数据在相应的数据节点的位置来访问整个文件系统。所以用户在编程时不需要知道名字节点和数据节点及其所在位置。

3 推荐算法的混合

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。

4 基于Hadoop平台的混合推荐系统的设计

整个系统是基于Hadoop实现的,Hadoop是一个分布式的大数据计算系统,主要由Mster阶段和DataNode节点构成,Master节点负责管理整个整个分布式系统包括MapRedcue任务的计算以及Hadoop分布式文件系统的元数据管理(通常都是交由Master管理,也可以另外设定),而DataNode负责存储数据以及Map任务以及Reduce任务的计算。Hadoop的工作机制和在第三章已经有相似的阐述。其他的工作模块是依赖于Hadoop来实现的,如图5-6所示。每个模块在启动数据处理和数据访问(获取HDFS或者HBase的数据)的时候都首先向Master请求,并在Master处理请求之后和DataNode进行交互。

推荐引擎内部的算法通常都是面对大数据量并且算法可以进行切分并行计算,将算法以Map和Reduce方式进行切割,并且设计好key和value。对于算法的相似设计会在推荐系统的实现部分根据具体算法进行描述。对Hadoop的使用通常都使用Hadoop封装好的client程序包来进行调用。由client向Master进行请求,然后根据数据切分Map任务,把各个Map任务分配到不同的节点上运行,运行完之后reduce任务把相应的数据结果拉去过来继续计算。完成之后生成最终的结果。

5 结语

对于基于Hadoop的推荐系统的设计,使用了软件设计模式的一些思想来对设计进行指导。比如使用了策略模式,工厂模式等等。这些主要在算法的实现部分有阐述。另外整个系统是进行分层设计的。

在实现部分,论文着重阐述了数据预处理模块的实现,以及推荐引擎的实现,并是运用了策略模式来实现推荐引擎的可扩展。本论文还详细描述了各个推荐引擎的实现。

论文还可以朝以下几个方面进行探索和研究:

(1) 系统的冷启动,在这方面可以使用用户的注册数据以及商品的数据使用基于内容的推荐系统进行推荐。但需要研究具体的实现。

(2)为用户做推荐的时候没有将实时性考虑进去,后续的研究工作当中会着重研究如何根据提取日志数据来对实时性进行考虑。

参考文献

[1]Amazon Elastic Compute Cloud,http:///ec2/.

[2]邓倩妮,陈全.云计算及其关键技术[J].高性能计算发展与应用,2009(1).

作者简介

晁卫(1988-),男,安徽省六安市人。硕士学历。 研究方向为云计算。

上一篇:义务教育阶段教育信息化发展策略探讨 下一篇:基于DSP的电机控制系统的研究