本申请涉及大数据领域,尤其涉及一种数据生命周期的控制方法、装置、电子设备及介质。
背景技术:
1、目前大数据领域主流的数据文件存储架构使用的是apache基金会开发的hadoop分布式系统基础架构,其中包括了一种分布式文件系统组件hdfs(hadoop distributedfile system),它可以在低廉的硬件上部署,实现高吞吐量、高容错的文件管理功能。同时hadoop架构中另一数据仓库工具hive,可以将结构化的数据文件映射为一张数据库表,并提供sql查询功能。因此hdfs文件系统及hive数仓工具,已被广泛应用于海量数据文件的存储、查询及分析。但随着公司业务的快速增长,数据文件在不断累积,然而hdfs文件系统及hive数仓工具原生不具有对其数据文件进行生命周期管理的功能,不能及时高效的对生命周期之外的历史数据进行删除,从而使过期的历史数据长期留存,造成公司集群的存储成本不断增加。
2、目前在大数据生命周期管理方面,主要的解决方案是针对于hive表数据文件的生命周期管理,通过固定的时间间隔,使程序定时获取待进行生命周期管理的hive表元数据信息,按照设定的生命周期数,对其过期的数据文件存储的物理路径进行删除操作。
3、而采用这种方式会产生两点问题:若时间间隔设定的较长,则对过期的数据文件进行删除的时效性会降低,同时每一次程序启动时需要删除的数据文件也会累积增加,使程序执行速度缓慢;若时间间隔设定较短,则生命周期管理程序会频繁的访问hive元数据库,并频繁的生成冗余的生命周期管理任务,从而对元数据库的连接请求造成较大压力。因此采用定时启动方式的生命周期管理程序,面对不断增加的删除任务,运行压力将会不断增加,使过期的数据文件不能及时的、高效的进行删除。
技术实现思路
1、本申请提供一种数据生命周期的控制方法、装置、电子设备及介质,用以解决过期的数据文件不能及时的、高效的进行删除问题。
2、一方面,本申请提供一种数据生命周期的控制方法,包括:
3、当元数据库的分区数据发生新增时,触发生成元数据表的生命周期管理任务,所述生命周期管理任务中包括所述元数据表的信息,所述元数据表的信息包括:所述元数据表所在的集群及其所属的数据库,以及所述元数据表的标识;所述元数据为数据文件的描述信息;
4、根据所述元数据表的信息,从对应的元数据库中查询所述元数据表当前的分区数量;
5、将所述元数据表的分区数量与预先配置的生命周期数进行比较,若所述分区数据超过所述生命周期数,则根据分区值的时间顺序生成删除任务,所述删除任务中包括待删除的元数据信息;
6、在所述元数据表中执行所述删除任务。
7、进一步地,所述在所述元数据表中执行所述删除任务,包括:
8、在所述元数据表中删除的所述元数据表所在集群名称及其所属的数据库名称;
9、删除所述元数据表的标识及其分区数量。
10、进一步地,所述在所述元数据表中执行所述删除执行任务之前,还包括:
11、可采用单线程或多线程方式,将所述删除任务提交至hive的接口以执行所述删除任务。
12、进一步地,所述在所述元数据表中执行所述删除执行任务之后,还包括:
13、将所述删除任务的执行结果存储至删除记录数据库。
14、进一步地,所述方法还包括:
15、按照设定时间区间,在所述删除记录数据库中确定在所述时间区间内执行的所述删除任务信息,所述删除任务信息包括:删除的元数据表标识、数量及其删除的分区总数量;
16、将所述设定时间区间内的删除任务信息与历史相同时间区间的删除任务信息进行对比;
17、若比对结果表示设定时间区间内的删除任务信息异常,则输出异常通知消息。
18、进一步地,所述元数据库为从元数据库,所述方法还包括:
19、为主元数据库创建所述从元数据库,通过主从同步中间件的方式对主元数据库和从元数据库进行元数据同步。
20、另一方面,本申请提供一种数据生命周期控制装置,包括:
21、配置模块,用于配置生命周期管理表的基本信息;
22、触发模块,用于触发生命周期管理表的管理任务;
23、判断模块,用于将生命周期管理表当前的分区数量与配置的生命周期数进行比较判断;
24、执行模块,用于与hive的接口交互执行任务;
25、通知模块,用于对生命周期管理任务的执行情况进行异常通知。
26、第三方面,本申请提供一种电子设备,包括:
27、包括存储器和处理器,所述存储器用于存储计算机执行指令,所述处理器用于执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
28、第四方面,本申请提供一种介质,所述介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的方法。
29、本申请提供的数据生命周期的控制方法、装置、电子设备及介质,通过当元数据库的分区数据发生新增时,触发生成元数据表的生命周期管理任务,生命周期管理任务中包括元数据表的信息,元数据表的信息包括:元数据表所在的集群及其所属的数据库,以及元数据表的标识;元数据为数据文件的描述信息;根据元数据表的信息,从对应的元数据库中查询元数据表当前的分区数量;将元数据表的分区数量与预先配置的生命周期数进行比较,若分区数据超过生命周期数,则根据分区值的时间顺序生成删除任务,删除任务中包括待删除的元数据信息;在元数据表中执行删除任务。实现了降低元数据库连接压力,同时可以及时高效的执行生命周期删除任务的效果。
1.一种数据生命周期的控制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述元数据表中执行所述删除任务,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述元数据表中执行所述删除任务之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述在所述元数据表中执行所述删除任务之后,还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述元数据库为从元数据库,所述方法还包括:
7.一种数据生命周期控制装置,其特征在于,所述装置包括:
8.根据权利要求7所述的数据生命周期控制装置,其特征在于,所述判断模块包括:
9.一种电子设备,包括:
10.一种介质,其特征在于,所述介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的方法。