一种基于HDFS的小文件处理方法、装置、介质及电子设备制造方法及图纸

技术编号:29253903 阅读:20 留言:0更新日期:2021-07-13 17:24
本申请实施例公开了一种基于HDFS的小文件处理方法、装置、介质及电子设备。该方法包括:对待处理文件进行筛选,获得目标文件;若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。本技术方案,可以将小文件保存至集群中,并将集群中的各小文件合并成大文件存储到HDFS中,节省了小文件处理的时间,提高了处理效率。

【技术实现步骤摘要】
一种基于HDFS的小文件处理方法、装置、介质及电子设备
本申请实施例涉及大数据
,尤其涉及一种基于HDFS的小文件处理方法、装置、介质及电子设备。
技术介绍
随着互联网技术的发展,网络数据量成指数级增长。在实际生产环境中,大数据规模达到千亿或者PB级,目前广泛使用HDFS(HadoopDistributedFileSystem,分布式文件系统)处理各类文件。输入到HDFS的数据由很多小文件构成,这里的小文件指的是小于HDFS中最小存储和处理单位的文件。处理小文件的速度远远小于处理同等大小的大文件的速度。每一个小文件要占用一个资源单位,而任务启动将消耗大量时间甚至大部分时间都耗费在启动和释放任务上。针对大量小文件处理并没有很好的解决方案。
技术实现思路
本申请实施例提供一种基于HDFS的小文件处理方法、装置、介质及电子设备,可以将小文件保存至集群中,并将集群中的各小文件合并成大文件存储到HDFS中,节省了小文件处理的时间,提高了处理效率。第一方面,本申请实施例提供了一种基于HDFS的小文件处理方法,该方法包括:对待处理文件进行筛选,获得目标文件;若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。第二方面,本申请实施例提供了一种基于HDFS的小文件处理装置,该装置包括:目标文件获取模块,用于对待处理文件进行筛选,获得目标文件;目标文件保存保存模块,用于若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;合并文件传输模块,用于将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。第三方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的基于HDFS的小文件处理方法。第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的基于HDFS的小文件处理方法。本申请实施例所提供的技术方案,对待处理文件进行筛选,获得目标文件;若目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;将目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将合并文件传输至HDFS。本技术方案,可以将小文件保存至集群中,并将集群中的各小文件合并成大文件存储到HDFS中,节省了小文件处理的时间,提高了处理效率。附图说明图1是本申请实施例一提供的基于HDFS的小文件处理方法的流程图;图2是本申请实施例二提供的基于HDFS的小文件处理过程的示意图;图3是本申请实施例三提供的基于HDFS的小文件处理装置的结构示意图;图4是本申请实施例五提供的一种电子设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。实施例一图1是本申请实施例一提供的基于HDFS的小文件处理方法的流程图,本实施例可适用于对大量小文件进行处理的情况,该方法可以由本申请实施例所提供的基于HDFS的小文件处理装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于用于文件处理的智能终端等设备中。如图1所示,所述基于HDFS的小文件处理方法包括:S110、对待处理文件进行筛选,获得目标文件;在本实施例中,可以利用预设函数对待处理文件进行筛选。优选的,预设函数可以是globStatus函数。通过globStatus函数获取符合条件的目标文件的路径。其中,globStatus函数是用通配符匹配制定模式的路径。S120、若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;其中,文件体积约束条件可以根据业务需求进行设定。例如,可以将小于128M的目标文件判断为满足文件体积约束条件,将大于128M的目标文件判断为不满足文件体积约束条件。其中,集群可以是指通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。在本方案中,可以将满足文件体积约束条件的目标文件按照具体规则保存至目标集群中。例如,可以是按照具体的名称规则保存至目标集群。其中,在将目标文件保存至目标集群中时,将目标文件按照业务分组分别进行保存。将不满足文件体积约束条件的目标文件直接保存至HDFS。其中,Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件上的分布式文件系统,有着高容错性的特点。在本技术方案中,可选的,所述目标集群包括Redis集群;相应的,根据预设写入规则将所述目标文件保存至目标集群,包括:根据预设写入规则将所述目标文件按业务分组,保存至Redis集群。其中,Redis(RemoteDictionaryServer,远程字典服务),是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis集群是为了强化Redis的读写能力。在redis集群中,每一个redis称之为一个节点。有两种类型的节点:主节点和从节点。将目标文件保存至Redis集群,可以充分利用CPU资源,提高小文件处理性能。S130、将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。在本方案中,可以根据协议查找文件类型,并根据预设合并规则将各目标文件进行合并成大文件。优选的,可以通copyBytes函数将目标文件合并为几个大文件,并上传到HDFS。在本技术方案中,可选的,将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS,包括:若所述目标集群的存储量满足预设存储量条件,则将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS;若所述目标集群中的各目标文件存储时间满足预设时间条件,则将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。可以理本文档来自技高网...

【技术保护点】
1.一种基于HDFS的小文件处理方法,其特征在于,包括:/n对待处理文件进行筛选,获得目标文件;/n若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;/n将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。/n

【技术特征摘要】
1.一种基于HDFS的小文件处理方法,其特征在于,包括:
对待处理文件进行筛选,获得目标文件;
若所述目标文件满足文件体积约束条件,则根据预设写入规则将所述目标文件保存至目标集群;
将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。


2.根据权利要求1所述的方法,其特征在于,根据预设写入规则将所述目标文件保存至目标集群,所述方法包括:
响应于客户端调用请求,将目标参数发送至客户端,以供客户端根据所述目标参数构建满足集群约束条件的待存储文件;其中,所述目标参数包括绝对路径参数和附件名称参数;
响应于客户端写入操作,将所述待存储文件保存至目标集群。


3.根据权利要求2所述的方法,其特征在于,在响应于客户端调用请求,将目标参数发送至客户端之前,所述方法还包括:
根据客户端发送的命名空间信息和数据集信息,确定待编辑信息;其中,所述待编辑信息包括文件长度和计数器;
相应的,在响应于客户端写入操作,将所述待存储文件保存至目标集群之后,所述方法还包括:
若检测到待存储文件保存至目标集群,则对所述计数器进行操作,以实现对客户端写入操作进行监控。


4.根据权利要求1所述的方法,其特征在于,将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS,包括:
若所述目标集群的存储量满足预设存储量条件,则将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS;
若所述目标集群中的各目标文件存储时间满足预设时间条件,则将所述目标集群中的各目标文件按文件类型进行合并,获得合并文件,并将所述合并文件传输至HDFS。

【专利技术属性】
技术研发人员:魏鹏飞万月亮火一莽
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1