[发明专利]一种基于Hadoop的海量小文件读取方法有效
申请号: | 201810499647.1 | 申请日: | 2018-05-22 |
公开(公告)号: | CN108804566B | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 魏文国;彭建烽;戴青云;蔡君;赵慧民;谢桂园 | 申请(专利权)人: | 广东技术师范大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 梁顺宜;郝传鑫<国际申请>=<国际公布> |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 小文件 查询 读取 文件内容 海量小文件 读取命令 缓存模块 返回 数据合并模块 文件名查询 读取效率 缓存机制 接收用户 调用 数据库 合并 | ||
本发明公开了一种基于Hadoop的海量小文件读取方法,该读取方法适用于具有数据合并模块和HBase缓存模块的HDFS系统。该方法包括:接收用户输入的小文件读取命令;小文件读取命令包括用户ID和小文件文件名;根据用户ID和小文件文件名查询先查询HBase缓存模块,如果查询到相应的文件内容,则返回查询到的文件内容;如果查询不到相应的文件内容,则再去查询HDFS系统的数据库,如果查询到,则返回查询到的文件内容;否则,调用Hadoop archive工具的API访问对应的HAR文件,并返回HAR文件。本发明的读取方法在结合了小文件合并和HBase缓存机制后,能提高小文件的读取效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Hadoop的海量小文件读取方法。
背景技术
Hadoop是Apache基金会在2005年作为Lucene的子项目Nutch中的一部分正式引入。Hadoop最关键的两大设计HDFS和MapReduce。而HDFS负责存储海量的数据,文件以数据块的形式存储在系统上。而HDFS的数据块比普通磁盘定义的数据块(一般是512B)大得多,HDFS目前默认的数据块大小是128MB。如果HDFS存储的文件大小大于128MB,它会将该文件切分成块大小的若干个分块,分开单独存储。而当HDFS不断的存储小文件量达到TB甚至PB级别时,小文件的问题就会产生,这是因为会有大量的元数据存储在HDFS的主节点namenode中,大大增加namenode的负载,从而会影响到系统的读取性能。其中,小文件的大小定义为2MB,即在HDFS存储文件中,当文件大小小于或等于2M,即被定义为小文件。
现有技术对于海量小文件的处理都是将若干个小文件合并成一个block块大小的大文件,并没有考虑到文件之间的关联性,使得小文件的读取效率不太理想。
发明内容
本发明实施例提出一种基于Hadoop的海量小文件读取方法,在结合小文件合并和HBase缓存机制后,能提高小文件的读取效率。
本发明实施例提供一种基于Hadoop的海量小文件读取方法,所述读取方法适用于具有数据合并模块和HBase缓存模块的HDFS系统;所述读取方法包括:
接收用户输入的小文件读取命令;其中,所述小文件读取命令包括用户ID和小文件文件名;
根据所述用户ID和所述小文件文件名查询所述HBase缓存模块;
如果查询到相应的文件内容,则返回所述HBase缓存模块查询到的文件内容;如果查询不到相应的文件内容,则根据所述小文件文件名查询所述HDFS系统的数据库,并判断是否查询到相应的文件内容;
如果是,则返回所述数据库查询到的文件内容;
否则,调用Hadoop archive工具的API访问所述小文件文件名对应的HAR文件,并返回所述HAR文件。
进一步的,所述数据合并模块采用的数据合并方法为:
步骤A:当客户端上传待存储文件后,遍历HDFS上所有的文件,结合用户访问偏好模型找出所述待存储文件的关联性文件集合;其中,所述用户访问偏好模型是根据用户访问日志记录而统计得出;
步骤B:依次将所述关联性文件集合的中文件和所述待存储文件添加到待合并队列中;
步骤C:判断所述待合并队列中的所有文件总大小是否超过128MB,如果是,则执行步骤D;否则,执行步骤E;
步骤D:将所述待合并队列中的所有文件合并成一个数据块,并清空所述待合并队列中的文件信息和删除已合并文件的源文件,返回步骤B;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东技术师范大学,未经广东技术师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810499647.1/2.html,转载请声明来源钻瓜专利网。