基于SQL-Like语言的分布式推荐系统*
2012-07-01薛羽李炜沈奇威
薛羽, 李炜, 沈奇威
(1 北京邮电大学网络与交换技术国家重点实验室, 北京 100876;2 东信北邮信息技术有限公司, 北京 100191)
基于SQL-Like语言的分布式推荐系统*
薛羽1,2, 李炜1,2, 沈奇威1,2
(1 北京邮电大学网络与交换技术国家重点实验室, 北京 100876;2 东信北邮信息技术有限公司, 北京 100191)
Hadoop应用的开发要求用户掌握分布式编程的相关知识,造成了一定的开销,Apache Pig则提供了一种轻量级的开发方式,用户通过编写类SQL(Structured Query Language)语句,即可调用Hadoop的分布式处理能力。本文将结合Apache Pig和Item-Based协同过滤算法,设计并实现一种轻量级、可维护性较高的分布式推荐系统。
推荐系统;分布式;Hadoop;SQL;协同过滤
随着互联网行业的迅猛发展,出现了信息过载的现象,用户很难从海量信息中找到其感兴趣的内容。推荐系统很好地解决了这一问题,它通过对用户的历史行为进行分析,得出用户行为习惯,并根据这种习惯产生推荐结果,达到信息过滤的目的。然而,用户的历史行为记录往往都是海量数据,对存储和计算环境有着较高的要求。Hadoop是一个开源的分布式计算平台,适用于大数据处理,它主要包括Hadoop分布式文件系统(HDFS, Hadoop Distributed File System)和分布式计算框架MapReduce。Hadoop应用的开发要求用户掌握分布式编程的相关知识,造成了一定的开销,Apache Pig则提供了一种轻量级的开发方式,用户通过编写类SQL语句,即可调用Hadoop的分布式处理能力。本文将结合Apache Pig和Item-Based协同过滤算法,设计并实现一种轻量级、可维护性较高的分布式推荐系统[1,2]。
1 推荐系统设计
1.1 功能模块划分
根据推荐系统的一般处理流程[3],将推荐系统分为6个功能模块,如图1所示,本文将重点介绍推荐引擎部分的实现过程。……
