移动环境下情境导向的信息推荐
李旭 李长云 张清清 胡淑新 周玲芳
(湖南工业大学,计算机与通信学院 湖南 株洲 412007)
摘 要:本文提出了一种在移动情境下基于协同过滤算法的推荐模型,定义了情境过滤来改善因
引入情境信息后而产生的数据稀疏问题。另外针对现有算法与情境之间融合程度不足,在传统
协同过滤算法基础上设计了情境导向的协同过滤推荐系统模型框架。采用MAE和F1评价指标
对本文所提出的模型与情境预过滤、不涉及情境以及普通情境建模三种方法之间的推荐质量进
行评估。通过一系列实验表明,本文提出的方案能在推荐质量上拥有较好的表现。
关键词:移动情境;情境相似度;协同过滤算法;推荐质量评估
Methods of Dealing with Massive Small Files in Hadoop
Li-Xu Li-Changyun Zhang-Qingqing Hu-Shuxin Zhou-Lingfang
(Hunan University of Technology, Zhuzhou, Hunan 412007, China)
Abstract: HDFS which provides the underlying storage for Hadoop deals with massive small
files inefficiently, decreasing system performance seriously. To solve this problem, we designed a
file merging, indexing and retrieval solution, then through a series of experiments compared to the
o r i g i n a l H D F S a n d H A R s o l u t i o n , i t c a n b e s h o w n t h a t o u r s c h e m e c a n e f f e c t i v e l y r e d u c e t h e
memory usage of Namenode and improve the I / O performance of HDFS.
Keywords: Hadoop; HDFS; small files; performance
1 引言
在互联网技术不断发展的背景下,网络中各类资源总量正在迅速地增长,“信息过载”等问
题已经开始制约用户对信息资源的利用。而信息推荐技术正是解决这类问题的有效方法,通
过用户兴趣爱好以及个人特点对信息资源进行整理分类,进而向用户推荐符合其兴趣爱好或
需要的信息。此外,随着移动互联网的迅速发展,用户所处的情境信息逐渐成为影响用户选
择与决策中的重要因素,因此推荐技术需要生成符合用户当前情境的个性化信息推荐。
[3]
小文件是指那些远小于 HDFS 上默认 block 大小(64M)的文件,这样的文件会给 Hadoop
的扩展性和性能带来严重问题。HDFS 集群是以主从模式运行的,主要有两类节点:一个
Namenode(即主节点)和多个 Datanode(即从节点)
[4]
。在 HDFS 中,所有块、文件和目录都以对
象的形式在 Namenode 内存中存储,每个对象大约占 150 个字节的内存空间,如果有一百万
个小文件,每个文件对应一个 block,那么 Namenode 大约需要 200M 内存,但是假如文件数
目达到十亿,那么 Namenode 就需要占用将近 200G 的内存,远远超出了目前硬件的承受能力,
这样就严重制约了集群的扩展性。另外,HDFS 最初是为流式访问大文件设计开发的,如果
访问大量小文件,就会造成大量的 Datanode 到另一个的 Datanode 的跳跃和搜索来取回文件,
这种文件访问方式是十分低效的。系统对海量小文件的处理速度也远远小于相同大小的大文
件,如果每一个小文件都占用一个 slot,那么在任务的启动和释放上将会花费大量的时间,
甚至远远超过任务执行的时间,明显降低了系统的性能。
本文提出了一种通过文件合并在 HDFS 中存储文件的方案: 在文件写入到 HDFS 之前先对
其大小进行判断,如果是小文件就建立一个小文件队列, 通过将小文件合并成大文件, 减少文