HDFS空文件定位方法、装置、设备及介质制造方法及图纸

技术编号:36464708 阅读:41 留言:0更新日期:2023-01-25 23:05
本申请提供HDFS空文件定位方法、装置、设备及介质,旨在解决,其中,该方法包括:获取分布式文件系统HDFS的二进制的元数据文件;将所述二进制的元数据文件进行反序列化,得到明文文件;在预建立的Hive表中加载所述明文文件,得到明文文件Hive表;以及,对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。通过上述方法,本申请能够快速、准确地定位到空文件,提高空文件的定位效率,为空文件的清理提供支撑和便利,有效提高了HDFS的稳定性。稳定性。稳定性。

【技术实现步骤摘要】
HDFS空文件定位方法、装置、设备及介质


[0001]本申请涉及计算机
,尤其涉及一种HDFS空文件定位方法、装置、设备及介质。

技术介绍

[0002]HDFS,英文全称为Hadoop Distributed File System,是在大数据领域用的非常多的分布式高可用的文件系统。
[0003]在HDFS的实际使用过程中,其稳定性会随着文件数量的增多而变差,尤其在存在大量无用的空文件的情况下,将进一步导致存储系统的不稳定性。因此,如何快速定位HDFS中的空文件值得研究。
[0004]相关技术中,定位HDFS中的空文件主要通过递归遍历整个HDFS的目录结构树来获取所有的文件列表,继而定位到所有文件列表中的空文件,这种方式会对HDFS造成很大的数据压力,将影响正常数据业务的开展,而且耗时非常长。

技术实现思路

[0005]鉴于上述问题,即HDFS空文件定位过程影响HDFS正常数据业务以及效率低等问题,本申请提供一种HDFS空文件定位方法、装置、设备及介质。
[0006]为了实现上述目的,本申请提供如下技术方案:
[0007]根据本申请的一方面,提供一种分布式文件系统HDFS空文件定位方法,包括:
[0008]获取分布式文件系统HDFS的二进制的元数据文件;
[0009]将所述二进制的元数据文件进行反序列化,得到明文文件;
[0010]在预建立的Hive表中加载所述明文文件,得到明文文件Hive表;以及,对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。
[0011]在一种实施方式中,在获取分布式文件系统HDFS的二进制的元数据文件之后,以及将所述二进制的元数据文件进行反序列化之前,还包括:
[0012]将所述二进制的元数据文件推送至与生产环境无关的服务器集群中;
[0013]所述将所述二进制的元数据文件进行反序列化,包括:在所述服务器集群中将所述二进制的元数据文件进行反序列化。
[0014]在一种实施方式中,所述获取分布式文件系统HDFS的二进制的元数据文件,包括:
[0015]从分布式文件系统HDFS的元数据节点NameNode中提取二进制的元数据文件。
[0016]在一种实施方式中,所述将所述二进制的元数据文件进行反序列化,包括:
[0017]获取所述二进制的元数据文件的结构信息,并基于所述结构信息获取对应的反序列化程序;
[0018]基于所述反序列化程序将所述二进制的元数据文件进行反序列化。
[0019]在一种实施方式中,所述对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息,包括:
[0020]基于对象关系映射框架查询语言HQL对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。
[0021]在一种实施方式中,所述明文文件的格式至少包括以下之一:分布式系统文件HDFS的文件路径和目录路径HDFS_DIR;副本数REPLICATION;修改时间MODIFICATION_TIME;访问时间ACCESS_TIME。
[0022]在一种实施方式中,在对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息之后,还包括:基于所述定位信息删除定位到的所有存放空文件列表的文件。
[0023]根据本申请的另一方面,提供一种分布式文件系统HDFS空文件定位装置,包括:
[0024]获取模块,其设置为获取分布式文件系统HDFS的二进制的元数据文件;
[0025]反序列模块,其设置为将所述二进制的元数据文件进行反序列化,得到明文文件;
[0026]加载模块,其设置为在预建立的Hive表中加载所述明文文件,得到明文文件Hive表;
[0027]定位模块,其设置为对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。
[0028]根据本申请的又一方面,提供一种电子设备,包括:存储器和处理器;
[0029]所述存储器存储计算机执行指令;
[0030]所述处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行所述的分布式文件系统HDFS空文件定位方法。
[0031]根据本申请的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的分布式文件系统HDFS空文件定位方法。
[0032]可以理解的,本申请提供的HDFS空文件定位方法、装置、设备及介质,通过获取分布式文件系统HDFS的二进制的元数据文件;将所述二进制的元数据文件进行反序列化,得到明文文件;在预建立的Hive表中加载所述明文文件,得到明文文件Hive表;以及,对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。通过上述方法,本申请能够快速、准确地定位到空文件,提高空文件的定位效率,为空文件的清理提供支撑和便利,有效提高了HDFS的稳定性。
附图说明
[0033]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0034]图1a为分布式文件系统HDFS的网络架构图;
[0035]图1b为相关技术中提高分布式文件系统HDFS稳定性的网络架构图;
[0036]图2为本申请实施例提供的一种可能的场景示意图;
[0037]图3为本申请实施例提供的一种分布式文件系统HDFS空文件定位方法的流程示意图之一;
[0038]图4为本申请实施例提供的一种分布式文件系统HDFS空文件定位方法的流程示意图之二;
[0039]图5为本申请实施例提供的一种分布式文件系统HDFS空文件定位装置的结构示意图;
[0040]图6为本申请实施例提供的一种电子设备的结构示意图。
[0041]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0042]HDFS可以部署在一个由多台机器组成的集群上,其包括几个基本概念元数据节点NameNode、数据节点DataNode和数据块block,其中NameNode负责整个分布式文件系统的元数据管理,也就是文件路径名,数据block的ID以及存储位置等信息,还要记录哪些节点是集群的一部分,某个block有几份副本等,如图1a所示。
[0043]由此可以看出NameNode是非常重要的一个组件,它的稳定性和可靠性非常重要,如果NameNode组件挂掉会导致整个分布式文件系统处于不可用的状态,所有开源社区对HDFS的高可用上做了很多工作,如下图1b所示的NameNode高可用原理,通过启动两个NameNode解决单点的问题,以提高HDFS的整体稳定性。
[0044]但本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件系统HDFS空文件定位方法,其特征在于,包括:获取分布式文件系统HDFS的二进制的元数据文件;将所述二进制的元数据文件进行反序列化,得到明文文件;在预建立的Hive表中加载所述明文文件,得到明文文件Hive表;以及,对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。2.根据权利要求1所述的方法,其特征在于,在获取分布式文件系统HDFS的二进制的元数据文件之后,以及将所述二进制的元数据文件进行反序列化之前,还包括:将所述二进制的元数据文件推送至与生产环境无关的服务器集群中;所述将所述二进制的元数据文件进行反序列化,包括:在所述服务器集群中将所述二进制的元数据文件进行反序列化。3.根据权利要求1或2所述的方法,其特征在于,所述获取分布式文件系统HDFS的二进制的元数据文件,包括:从分布式文件系统HDFS的元数据节点NameNode中提取二进制的元数据文件。4.根据权利要求1所述的方法,其特征在于,所述将所述二进制的元数据文件进行反序列化,包括:获取所述二进制的元数据文件的结构信息,并基于所述结构信息获取对应的反序列化程序;基于所述反序列化程序将所述二进制的元数据文件进行反序列化。5.根据权利要求1所述的方法,其特征在于,所述对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息,包括:基于对象关系映射框架查询语言HQL对所述明文文件Hive表中存放空文件列表的文件进行定位,得到定位信息。6.根据权利要求1...

【专利技术属性】
技术研发人员:穆纯进王云朋
申请(专利权)人:联通数字科技有限公司
类型:发明
国别省市:

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

1