一种数据湖元数据管理方法及装置与流程

文档序号:33987815发布日期:2023-04-29 14:02阅读:21来源:国知局
一种数据湖元数据管理方法及装置与流程

本技术实施例涉及大数据,尤其涉及一种数据湖元数据管理方法及装置。


背景技术:

1、随着大数据技术的不断发展,数据呈现多源井喷式发展趋势,各种数据库和数据格式内容层出不穷。数据的应用场景向复杂化、多元化转变,从最初的交易场景,到分析场景,再到混合场景、复杂分析场景,以及目前的实时混合场景。用户对数据时效性的要求越来越高,通过对所有数据统一管理,能够进行实时决策、实时变现,挖掘数据价值。

2、传统的数据仓库在大数据导入和分析时存在时效性慢、成本高、弹性伸缩差、数据格式单一等缺点,难以满足云环境下异构海量数据实时处理与存储的要求。数据湖的出现有效地解决了以上的几个问题,能够以较低地成本存储海量不同格式的数据。然而,现有的数据湖尚未对元数据进行有效管理和维护,在数据扩展性、分布式一致性和并发控制方面存在不足。


技术实现思路

1、有鉴于此,本技术实施例的目的在于提出一种数据湖元数据管理方法及装置,以解决数据湖的元数据管理问题。

2、基于上述目的,本技术实施例提供了一种数据湖元数据管理方法,包括:

3、将数据文件提交至数据湖时,将所述数据文件的元数据写入预先构建的元数据提交表;其中,所述元数据提交表包括表标识字段、提交状态字段和提交标识字段,所述表标识字段用于记录所述元数据中包括的数据文件对应的表标识,所述提交状态字段用于记录所述数据文件是否成功提交,所述提交标识字段用于记录所述数据文件提交时生成的提交标识;

4、将写入的元数据对应的提交状态字段的值设置为未提交;

5、根据所述表标识查询预先构建的分区信息表,得到对应的提交标识集合和当前版本;其中,所述提交标识集合包括所有已提交的数据文件对应的提交标识;

6、根据所述提交标识更新所述提交标识集合,得到最新提交标识集合;

7、根据所述当前版本计算最新版本;

8、根据所述最新提交标识集合和所述最新版本,更新所述分区信息表;

9、将所述提交状态字段的值修改为已提交。

10、可选的,方法还包括:

11、将至少两个数据文件同时提交至数据湖时,根据设置的各数据文件的提交类型,判断是否存在冲突;

12、如果不存在冲突,将各数据文件的元数据分别写入所述元数据提交表;

13、如果存在冲突且兼容,确定优先级较高的提交类型,将该提交类型的数据文件的元数据写入所述元数据提交表;

14、如果存在冲突且不兼容,输出错误提示信息。

15、可选的,所述提交类型包括追加操作、合并操作和拼接操作;

16、将至少两个数据文件同时提交至数据湖时,根据设置的各数据文件的提交类型,判断是否存在冲突,包括:

17、同时提交的至少两个数据文件的提交类型均为追加操作或合并操作时,判断不存在冲突;

18、同时提交的至少两个数据文件的提交类型包括追加操作和合并操作时,判断不存在冲突;

19、同时提交的至少两个数据文件的提交类型包括合并操作和拼接操作时,判断不存在冲突。

20、可选的,所述提交类型包括合并操作和更新操作;

21、将至少两个数据文件同时提交至数据湖时,根据设置的各数据文件的提交类型,判断是否存在冲突,包括:

22、同时提交的至少两个数据文件的提交类型包括合并操作和更新操作时,判断存在冲突且兼容;

23、如果存在冲突且兼容,确定优先级较高的提交类型,将该提交类型的数据文件的元数据写入所述元数据提交表,包括:

24、将更新操作的数据文件的元数据写入所述元数据提交表。

25、可选的,所述提交类型包括追加操作、更新操作和拼接操作;

26、将至少两个数据文件同时提交至数据湖时,根据设置的各数据文件的提交类型,判断是否存在冲突,包括:

27、同时提交的至少两个数据文件的提交类型包括追加操作和更新操作时,判断存在冲突且不兼容;

28、同时提交的至少两个数据文件的提交类型包括追加操作和拼接操作时,判断存在冲突且不兼容;

29、同时提交的至少两个数据文件的提交类型包括更新操作和拼接操作时,判断存在冲突且不兼容;

30、同时提交的至少两个数据文件的提交类型均为更新操作时,判断存在冲突且不兼容;

31、同时提交的至少两个数据文件的提交类型均为拼接操作时,判断存在冲突且不兼容。

32、可选的,将数据文件提交至数据湖之前,还包括:

33、获取待写入数据湖的数据表;

34、将所述数据表的元数据写入预先构建的元数据管理表;其中,所述数据表的元数据包括所述数据表对应的表标识;

35、对所述数据表进行处理,生成所述数据文件;其中,所述数据文件对应的表标识为所述数据表对应的表标识。

36、可选的,所述数据表的元数据还包括表名:

37、将所述数据表的元数据写入预先构建的元数据管理表之后,还包括:

38、将所述数据表对应的表标识和表名,写入预先构建的元数据名称表。

39、可选的,所述分区信息表包括用于记录分区标识的分区标识字段,所述元数据提交表包括用于记录所述数据文件的文件标识的文件标识字段;方法还包括:

40、获取查询请求;其中,所述查询请求包括目标表名和目标分区标识;

41、根据所述目标表名查询所述元数据名称表,得到对应的目标表标识;

42、根据所述目标表标识和所述目标分区标识,查询所述分区信息表,得到对应的最新版本和最新提交标识集合;

43、从所述最新提交标识集合中提取所有提交标识;

44、根据各提交标识查询所述元数据提交表,得到各提交标识对应的文件标识;

45、发送包括各文件标识的查询响应。

46、可选的,将所述数据表的元数据写入预先构建的元数据管理表之后,还包括:

47、将所述数据表对应的表标识和所述数据表对应的数据文件在数据湖中的存储路径,写入预先构建的元数据路径表;

48、所述方法还包括:

49、获取查询请求;其中,所述查询请求包括目标存储路径和目标分区标识;

50、根据所述目标存储路径查询所述元数据路径表,得到对应的目标表标识。

51、本技术实施例还提供一种数据湖元数据管理装置,包括:

52、第一提交模块,用于将数据文件提交至数据湖时,将所述数据文件的元数据写入预先构建的元数据提交表;其中,所述元数据提交表包括表标识字段、提交状态字段和提交标识字段,所述表标识字段用于记录所述元数据中包括的数据文件对应的表标识,所述提交状态字段用于记录所述数据文件是否成功提交,所述提交标识字段用于记录所述数据文件提交时生成的提交标识;将写入的元数据对应的提交状态字段的值设置为未提交;

53、第二提交模块,用于根据所述表标识查询预先构建的分区信息表,得到对应的提交标识集合和当前版本;其中,所述提交标识集合用于记录所有已提交的数据文件对应的提交标识;根据所述提交标识更新所述提交标识集合,得到最新提交标识集合;根据所述当前版本计算最新版本;根据所述最新提交标识集合和所述最新版本,更新所述分区信息表;将所述提交状态字段的值修改为已提交。

54、从上面所述可以看出,本技术实施例提供的数据湖元数据管理方法及装置,将数据文件提交至数据湖时,将数据文件的元数据写入预先构建的元数据提交表;将元数据提交表中的提交状态字段设置为未提交;根据数据文件对应的表标识查询预先构建的分区信息表,得到对应的提交标识集合和当前版本;根据数据文件的提交标识更新提交标识集合,并更新当前版本,更新分区信息表,再将提交状态字段修改为已提交,最终完成数据文件及其元数据的成功入湖。通过数据文件的元数据的两阶段写入,能够保证数据文件及其元数据的分布式一致性和正确性,利用元数据提交表和分区信息表等实现中心化的元数据管理,处理简单高效,易于维护,扩展性强。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1