[发明专利]一种基于Hadoop的海量小文件处理方法和设备在审
申请号: | 202010313667.2 | 申请日: | 2020-04-20 |
公开(公告)号: | CN111538702A | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 谢翔;王光勤 | 申请(专利权)人: | 北京京安佳新技术有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/14;G06F16/174;G06F16/182 |
代理公司: | 北京睿博行远知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hadoop 海量 文件 处理 方法 设备 | ||
本发明公开了一种基于Hadoop的海量小文件处理方法和设备,该方法包括:根据文件合并请求和预设合并路径获取与文件合并请求对应的大文件和索引文件,所述文件合并请求是在所述预设合并路径中小文件的数量达到预设的阈值时触发的;根据所述小文件和所述大文件确定所述小文件在所述索引文件中的索引信息,根据所述小文件的预设压缩方式确定所述小文件在所述大文件中的压缩信息;根据所述索引信息和所述压缩信息对所述小文件进行合并,通过本申请的技术方案,能够简化文件合并过程以及提高处理小文件的检索效率。
技术领域
本申请涉及大数据处理技术领域,更具体地,涉及一种基于Hadoop的海量小文件处理方法和设备。
背景技术
利用大数据处理技术将Hadoop框架应用于海量数据,不仅能够为海量数据的存储提供载体,同时也为高效地处理数据提供了新的途径。Hadoop提供了一个分布式文件存储系统HDFS。HDFS可以用于保存基本上是顺序访问的海量数据,且提供了一种快速访问特定数据的机制。
然而,为处理大文件而设计的HDFS在处理图片、文件类型等小文件是会产生一些问题。一般小文件指的是大小小于10M的文件,如果系统中存在大量的这种小文件,将会极大地消耗NameNode的内存空间,从而影响整个HDFS集群的性能。海量小文件存储的重点是把小文件合并成一个大文件Big-File,减少小文件的个数,以降低NameNode对小文件维护的损耗,从而使NameNode高效的工作。
现有技术基于Hadoop处理小文件时,通过Sequencefile合并小文件,将多个小文件归档为一个以*.har结尾的归档文件(Har),来最大限度的减少NameNode的内是存消耗。然而,由于归档文件采用二级索引(Master-Index-File),造成检索速度慢,并且SequenceFile是二进制文件格式,文件合并过程复杂,并且文件合并后,不便于查看。
因此,如何提高基于Hadoop处理小文件时的检索效率并简化文件合并过程,是目前有待解决的技术问题。
发明内容
本发明提供一种基于Hadoop的海量小文件处理方法,用以解决现有技术中海量小文件合并过程复杂以及对小文件的检索效率低下不易操作的技术问题,该方法包括:
根据文件合并请求和预设合并路径获取与文件合并请求对应的大文件和索引文件,所述文件合并请求是在所述预设合并路径中小文件的数量达到预设阈值时触发的;
根据所述小文件和所述大文件确定所述小文件在所述索引文件中的索引信息;
根据所述小文件的预设压缩方式确定所述小文件在所述大文件中的压缩信息;
根据所述索引信息和所述压缩信息对所述小文件进行合并。
优选地,根据所述小文件的预设压缩方式确定所述小文件在所述大文件中的压缩信息,具体为:
基于所述预设压缩方式对所述小文件进行压缩;
根据所述压缩的结果确定所述小文件的压缩长度及压缩后的内容;
基于所述预设压缩方式、所述压缩后长度及所述压缩后内容确定所述小文件在所述大文件中的存储值,并将所述存储值确定为所述压缩信息。
优选地,根据文件合并请求和预设合并路径获取与文件合并请求对应的大文件和索引文件,具体为:
根据所述合并请求确定所述大文件的大文件名称和所述索引文件的索引文件名称;
根据所述大文件名称和所述索引文件名称判断所述预设合并路径中是否存在所述大文件和所述索引文件;
若是,打开所述大文件和所述索引文件;
若否,基于所述预设合并路径新建所述大文件和所述索引文件并打开。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京安佳新技术有限公司,未经北京京安佳新技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010313667.2/2.html,转载请声明来源钻瓜专利网。