CN115658683A - 元数据处理方法、装置、设备、介质和程序产品 - Google Patents
元数据处理方法、装置、设备、介质和程序产品 Download PDFInfo
- Publication number
- CN115658683A CN115658683A CN202211179839.7A CN202211179839A CN115658683A CN 115658683 A CN115658683 A CN 115658683A CN 202211179839 A CN202211179839 A CN 202211179839A CN 115658683 A CN115658683 A CN 115658683A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- partition
- metadata
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种元数据处理方法、装置、设备、介质和程序产品,该方法包括:在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,根据数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行数据操作的记录所在分区和分区中的文件组,根据待执行数据操作的记录所在分区和分区中的文件组,从元数据表中获取目标文件路径,在目标文件路径下执行数据操作。该技术方案中,通过借助分布式数据库组件,以键值对的方式维护元数据表中数据文件路径信息,可以避免Hudi在文件读写操作中对分布式文件系统的大量读写口的占用,减轻文件系统负担,防止由于文件系统负担过大,造成读写操作过程中出现失败、不断重试的情况。
Description
技术领域
本申请涉及分布式系统技术领域,尤其涉及一种元数据处理方法、装置、设备、介质和程序产品。
背景技术
Apache Hudi(简称Hudi)是一种数据湖的存储格式,在Hadoop文件系统之上提供更新数据和删除数据的能力。
现有技术中,Hudi采用数据分区、文件组与文件切片的目录结构,并使用列式存储文件Parquet作为文件切片保存表数据,相较传统大数据方案,这样的组织方式能够有效克服数据更新效率低、无法及时修改表结构、历史快照数据冗余、小批量增量数据处理成本高等问题。
但是,由于Hudi采用数据文件备份的方式保存历史数据,因此分区文件夹、数据文件数据量存在规模很大的情况,Hudi对文件夹、文件的操作会为分布式文件系统带来很大的负担,导致任务执行过程中出现失败、不断重试的情况,影响任务执行效率。
发明内容
本申请提供一种元数据处理方法、装置、设备、介质和程序产品,用于解决现有Hudi对文件夹、文件的操作会增加分布式文件系统的负担,导致任务执行出错的问题。
第一方面,本申请实施例提供一种元数据处理方法,包括:
在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,所述元数据表中包括有元数据的文件路径信息;
根据所述数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行所述数据操作的记录所在分区和所述分区中的文件组;
根据待执行所述数据操作的记录所在分区和所述分区中的文件组,从所述元数据表中获取目标文件路径;
在所述目标文件路径下执行所述数据操作。
在第一方面的一种可能设计中,所述在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,包括:
获取所述数据湖的数据组织格式组件的分区路径、文件组、所述文件组下所有文件切片的信息,所述数据湖的数据组织格式组件包括不同的分区路径,不同的分区路径中包括有不同的文件组,所述文件切片的信息包括文件名和文件大小;
将所述分区路径、文件组作为键,所有文件切片的信息作为键值,构建关联的键值对;
根据所述关联的键值对,构建得到所述元数据表,所述关联的键值对用于作为所述文件路径信息。
在第一方面的另一种可能设计中,所述在所述目标文件路径下执行所述数据操作之后,还包括:
根据在所述目标文件路径下执行的所述数据操作,确定待更新信息,所述待更新信息包括分区更新信息、文件组更新信息、文件切片更新信息中的至少一种;
根据所述待更新信息,对所述元数据表中的文件路径信息进行更新。
在第一方面的再一种可能设计中,所述对所述元数据表中的文件路径信息进行更新,包括:
根据所述分区更新信息,对所述文件路径信息中的分区路径进行更新,和/或,根据所述文件组更新信息,对所述分区路径中的文件组进行更新,和/或,根据所述文件切片更新信息,对所述文件组中的文件切片的信息进行更新。
在第一方面的又一种可能设计中,所述在所述目标文件路径下执行所述数据操作之后,还包括:
获取事务执行完毕之后的元数据,并根据所述事务执行完毕之后的元数据,对所述元数据文件夹下的元数据文件进行更新。
在第一方面的又一种可能设计中,所述在所述目标文件路径下执行所述数据操作,包括:
在所述目标文件路径下执行数据查询操作、数据回滚操作、数据提取与合并操作中的至少一种。
在第一方面的又一种可能设计中,所述分布式数据库组件为远程字典服务,所述方法还包括:
获取所述数据湖的数据组织格式组件中访问量大于预设阈值的数据文件,将所述数据文件缓存至所述远程字典服务的内存中。
第二方面,本申请实施例提供一种元数据处理装置,包括:
数据表构建模块,用于在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,所述元数据表中包括有元数据的文件路径信息;
区组确定模块,用于根据所述数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行所述数据操作的记录所在分区和所述分区中的文件组;
路径获取模块,用于根据待执行所述数据操作的记录所在分区和所述分区中的文件组,从所述元数据表中获取目标文件路径;
操作执行模块,用于在所述目标文件路径下执行所述数据操作。
第三方面,本申请实施例提供一种计算机设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现上述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现上述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述的方法。
本申请实施例提供的元数据处理方法、装置、设备、介质和程序产品,通过借助分布式数据库组件,以键值对的方式维护元数据表中数据文件路径信息,可以避免Hudi在文件读写操作中对分布式文件系统的大量读写口的占用,减轻文件系统负担,防止由于文件系统负担过大,造成读写操作过程中出现失败、不断重试的情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理;
图1为本申请实施例提供的Hudi的数据存储结构示意图;
图2为本申请实施例提供的元数据处理方法的流程示意图;
图3为本申请实施例提供的数据处理示意图;
图4为本申请实施例提供的元数据处理装置的结构示意图;
图5为本申请实施例提供的计算机设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
数据湖:是一个集中式的存储库,允许以任意规模存储多个来源、所有结构化和非结构化数据,可以按照原样存储数据,无需对数据进行结构化处理,并运行不同类型的分析对数据进行加工。
数据湖的数据组织格式组件(Apache Hudi,简称Hudi),是一种数据湖的存储格式,在Hadoop文件系统之上提供更新数据和删除数据的能力,其采用数据分区、文件组与文件切片的目录结构,并使用列式存储文件Parquet作为文件切片保存表数据。
分区:Hudi采用键值作为分区的划分依据,在一条记录写入时以指定键键值为文件夹名(如文件夹不存在,则新建该文件夹),将该记录保存至对应文件夹下。
数据文件:Hudi采用文件组、文件切片的方式保存历史数据,表中的记录与某一分区下的文件组存在对应关系,文件组以分区路径和文件组id作为区分,即在一个分区下不会存在文件组id重复的文件组。文件组中保存着不同时间戳的文件切片,其中保存着对应时刻的备份数据,文件切片以所属事务的时间戳为主要区分。
Hudi采用数据分区、文件组与文件切片的目录结构,并使用列式存储文件Parquet作为文件切片保存表数据。相较传统大数据方案,这样的组织方式能够有效克服数据更新效率低、无法及时修改表结构、历史快照数据冗余、小批量增量数据处理成本高等问题。由于Hudi采用键值作为分区的划分依据,在一条记录写入时以指定键键值为文件夹名(如文件夹不存在,则新建该文件夹),将该记录保存至对应文件夹下。在对数据做读取、写入等文件操作时,Hudi会根据分区路径去加载对应路径的数据文件。这种方式有效降低了数据文件操作过程中遍历文件的数目,但一方面由于分区键键值取值范围不确定,另一方面由于Hudi采用数据文件备份的方式保存历史数据,因此分区文件夹、数据文件数据量存在规模很大的情况,Hudi对文件夹、文件的操作会为分布式文件系统带来很大的负担,导致任务执行过程中出现失败、不断重试的情况。
针对上述问题,本申请实施例提供了一种元数据处理方法、装置、设备、介质和程序产品,通过借助分布式远程字典服务,以键值对的方式维护元数据表中数据文件路径信息,可以避免Hudi在文件读写操作中对分布式文件系统的大量读写口的占用,减轻文件系统负担,防止由于文件系统负担过大,造成读写操作过程中出现失败、不断重试的情况。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例提供的Hudi的数据存储结构示意图,如图1所示,Hudi采用数据分区、文件组与文件切片的目录结构,并使用列式存储文件Parquet作为文件切片保存表数据。在一条记录写入时以指定键键值为文件夹名(如文件夹不存在,则新建该文件夹),将该记录保存至对应文件夹下。在对数据做读取、写入等文件操作时,Hudi会根据分区路径去加载对应路径的数据文件。
图2为本申请实施例提供的元数据处理方法的流程示意图,该方法可以应用于计算机设备上,以计算机设备作为执行主体为例,如图2所示,该方法具体可以包括如下步骤:
步骤S201,在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表。其中,元数据表中包括有元数据的文件路径信息。
在本实施例中,分布式数据组件可以是远程字典服务(Remote DictionaryServer,Redis)。其中,在分布式数据库组件中建立Hudi元数据表之前,可以先初始化分布式文件系统中的文件切片信息。
其中,分布式数据组件Redis可以以键值对的方式维护Hudi元数据中分区、数据文件路径信息。具体的,可以以分区路径+文件组id作为键,以对应文件组下所有文件切片的“文件名-文件大小”作为键值,将元数据中的文件路径信息维护在缓存中。
示例性的,分区路径可以包括第一分区“partition=2022/09/26”、第二分区“partition=2022/09/30”和第三分区“partition=2022/10/01”等,每个分区中包括有文件组(不同文件组通过文件组id标识),每个文件组下有若干个文件切片。其中,不同的文件切片具有不同的文件名,文件切片的文件大小也可能不相同。例如第一分区“partition=2022/09/26”包括有文件组id1,文件组id2和文件组id3。其中,文件组id1下包括有文件切片1、文件切片2和文件切片3。
步骤S202,根据数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行数据操作的记录所在分区和分区中的文件组。
在本实施例中,在Hudi执行事务时,一个事务中的所有操作执行成功后Hudi会将该事务的元数据以平文件的方式保存在元数据文件夹下,因此可以在事务执行成功后向分布式数据库Redis的缓存中的元数据表进行更新,更新文件路径变化信息。例如根据文件切片所在的分区、文件组id创建或更新键及其键值,将新增的文件切片追写至已有的键值总,被删除的文件切片则从键值中删除。
示例性的,在Hudi执行插入事务并创建一个新的文件切片时,Hudi首先根据分区键判断记录所属分区,然后根据当前分区查询Redis获取分区下现有文件组、文件切片的路径和查询信息,根据文件组信息和写入策略将记录插入到指定文件组中。此时根据Redis键值中最后一个文件切片文件名和分区路径加载指定文件,处理结束后将结果文件保存至分布式文件系统,在事务执行结束后向Redis中当前文件组所在键值追写结果文件名,并将事务的元数据信息更新至Hudi元数据文件夹下。
步骤S203,根据待执行数据操作的记录所在分区和分区中的文件组,从元数据表中获取目标文件路径。
在本实施例中,元数据表存储在分布式数据库组件(即Redis)中,元数据表中包括有元数据的文件路径信息,Hudi在执行数据操作(例如查询操作、删除操作等)时,首先根据分区键判定记录所属分区,然后根据所属分区查询Redis获取分区下的文件在、文件切片的路径和尺寸信息,作为目标文件路径。
步骤S204,在目标文件路径下执行数据操作。
在本实施例中,在Hudi涉及到创建、删除分区文件夹与文件切片的操作汇总,首先加载元数据文件夹下的元数据文件,获取要被操作的记录所在分区、文件组信息,并以分区+文件组id的键获取对应文件路径,直接对文件路径进行操作。
本申请实施例通过采用分布式数据库组件Redis维护Hudi元数据信息中的文件路径,避免Hudi在文件读写操作中对分布式文件系统的大量IO占用,减轻文件系统负担。
在一些实施例中,上述步骤S201具体可以通过如下步骤实现:获取数据湖的数据组织格式组件的分区路径、文件组、文件组下所有文件切片的信息;将分区路径、文件组作为键,所有文件切片的信息作为键值,构建关联的键值对;根据关联的键值对,构建得到元数据表。其中,关联的键值对用于作为文件路径信息。数据湖的数据组织格式组件包括不同的分区路径,不同的分区路径中包括有不同的文件组,文件切片的信息包括文件名和文件大小。
在本实施例中,Hudi采用键值作为分区的划分依据,在一条记录写入时以指定键键值为文件夹名(如文件夹不存在,则新建该文件夹),将该记录保存至对应文件夹下。其中,在Hudi表建立之后,在分布式数据库组件Redis中建立对应的Hudi元数据表,以分区路径+文件id作为键,文件组下所有文件切片的信息(包括文件名、文件大小)作为键值,形成键值对,构建得到元数据表,元数据表中即包括有文件路径信息。
本申请实施例通过分区+文件组id作为键,以对应文件组下所有文件切片的文件名-文件大小作为键值,将元数据文件信息及文件组信息维护在Redis中,能够使得Hudi在执行事务前,向Redis获取文件路径信息,避免对分布式文件系统进行文件遍历,提高文件操作效率,降低分布式文件系统的负担。
进一步的,在上述实施例的基础上,在另一些实施例中,上述方法还包括如下步骤:根据在目标文件路径下执行的数据操作,确定待更新信息;根据待更新信息,对元数据表中的文件路径信息进行更新。其中,待更新信息包括分区更新信息、文件组更新信息、文件切片更新信息中的至少一种。
在本实施例中,数据操作可以包括有数据插入操作、数据删除操作、数据查询操作、数据提取与合并操作、数据回滚操作等等。其中,一个Hudi事务中的所有操作执行成功后,Hudi会将该事务的元数据以平文件的方式保存在元数据文件夹下,因此可以在事务所有操作执行成功后向分布式数据库组件Redis的元数据表中,更新文件路径变化信息。
示例性的,根据文件切片所在分区、文件组id创建或更新键及其键值,将新增的文件切片追写至已有的键值中,被删除的文件切片则从键值中删除。
图3为本申请实施例提供的数据处理示意图,如图3所示,Redis中维护有元数据表,在进行数据操作时,加载Hudi元数据文件夹下的元数据文件,获取要被操作的记录所在分区、文件组信息,并以分区+文件组id的键从元数据表中获取对应的文件路径信息,直接对文件路径进行操作(例如数据查询操作、数据回滚操作、数据提交/合并操作),在数据操作完成之后,对应的更新元数据表中的文件路径变化。
本申请实施例通过对文件路径信息进行更新,能够保证元数据表的准确性,使得在每一次事务执行时,Hudi都可以从元数据表中获取准确的文件路径信息,提高数据处理的准确性。
进一步的,在上述实施例的基础上,在一些实施例中,上述对元数据表中的文件路径信息进行更新,具体可以通过如下步骤实现:根据分区更新信息,对文件路径信息中的分区路径进行更新,和/或,根据文件组更新信息,对分区路径中的文件组进行更新,和/或,根据文件切片更新信息,对文件组中的文件切片的信息进行更新。
在本实施例中,在Hudi执行完事务所有操作之后,根据执行的操作,对应的更新键值对,例如,Hudi执行的操作包括有文件切片删除操作,则需要对元数据表的键值对中的文件切片信息进行更新,如果Hudi执行的操作包括有分区增加操作,则需要对元数据表的键值对中的分区路径进行更新(例如新增一个分区路径),如果Hudi执行的操作包括有文件组数据合并操作,则需要对元数据表的键值对中的文件组进行更新。
在一些实施例中,上述方法还可以包括如下步骤:获取事务执行完毕之后的元数据,并根据事务执行完毕之后的元数据,对元数据文件夹下的元数据文件进行更新。在本实施例中,一个Hudi事务中的所有操作执行成功后Hudi会将该事务的元数据以平文件的方式保存在元数据文件夹下,即对元数据文件夹下的元数据文件进行更新,保证数据的一致性。
在另一些实施例中,分布式数据组件可以是远程字典服务,即Redis。上述方法还可以包括如下步骤:获取数据湖中访问量大于预设阈值的数据文件,将数据文件缓存至远程字典服务的内存中。
在本实施例中,Redis可以采用内存保存热点数据(即访问量大于预设阈值的数据文件)。其中,通过Redis可以采用内存保存热点数据,能够进一步提高文件操作效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4为本申请实施例提供的元数据处理装置的结构示意图,该元数据处理装置可以集成在计算机设备上,也可以独立于计算机设备且与计算机设备协同实现本方案。如图4所示,该元数据处理装置400包括有数据表构建模块410、区组确定模块420、路径获取模块430和操作执行模块440。其中,数据表构建模块410用于在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,元数据表中包括有元数据的文件路径信息。区组确定模块420用于根据数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行数据操作的记录所在分区和分区中的文件组。路径获取模块430用于根据待执行数据操作的记录所在分区和分区中的文件组,从元数据表中获取目标文件路径。操作执行模块,用于在目标文件路径下执行数据操作。
可选的,数据表构建模块具体可以用于:获取数据湖的数据组织格式组件的分区路径、文件组、文件组下所有文件切片的信息;将分区路径、文件组作为键,所有文件切片的信息作为键值,构建关联的键值对;根据关联的键值对,构建得到元数据表,关联的键值对用于作为文件路径信息。其中,数据湖的数据组织格式组件包括不同的分区路径,不同的分区路径中包括有不同的文件组,文件切片的信息包括文件名和文件大小。
可选的,元数据处理装置还包括路径更新模块,用于根据在目标文件路径下执行的数据操作,确定待更新信息;根据待更新信息,对元数据表中的文件路径信息进行更新。其中,待更新信息包括分区更新信息、文件组更新信息、文件切片更新信息中的至少一种。
可选的,上述路径更新模块具体可以用于:根据分区更新信息,对文件路径信息中的分区路径进行更新,和/或,根据文件组更新信息,对分区路径中的文件组进行更新,和/或,根据文件切片更新信息,对文件组中的文件切片的信息进行更新。
可选的,上述元数据处理装置还包括元数据文件更新模块,用于获取事务执行完毕之后的元数据,并根据事务执行完毕之后的元数据,对元数据文件夹下的元数据文件进行更新。
可选的,操作执行模块具体可以用于:在目标文件路径下执行数据查询操作、数据回滚操作、数据提取与合并操作中的至少一种。
可选的,分布式数据库组件为远程字典服务,上述元数据处理装置还包括缓存模块,用于获取数据湖的数据组织格式组件中访问量大于预设阈值的数据文件,将数据文件缓存至远程字典服务的内存中。
本申请实施例提供的装置,可用于执行上述实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,数据表构建模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据表构建模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图5为本申请实施例提供的计算机设备的结构示意图。如图5所示,该计算机设备500包括:至少一个处理器510、存储器520、总线530及通信接口540。其中:处理器510、通信接口540以及存储器520通过总线530完成相互间的通信。通信接口540用于与其它设备进行通信。该通信接口包括用于进行数据传输的通信接口以及用于进行人机交互的显示界面或者操作界面等。处理器510用于执行存储器中存储的计算机执行指令,具体可以执行上述实施例中所描述的方法中的相关步骤。处理器可能是中央处理器,或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器,用于存放计算机执行指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
本实施例还提供一种计算机可读存储介质,可读存储介质中存储有计算机指令,当计算机设备的至少一个处理器执行该计算机指令时,计算机设备执行上述的各种实施方式提供的元数据处理方法。
本实施例还提供一种计算机程序产品,该程序产品包括计算机指令,该计算机指令存储在可读存储介质中。计算机设备的至少一个处理器可以从可读存储介质读取该计算机指令,至少一个处理器执行该计算机指令使得计算机设备实施上述的各种实施方式提供的元数据处理方法。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种元数据处理方法,其特征在于,包括:
在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,所述元数据表中包括有元数据的文件路径信息;
根据所述数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行所述数据操作的记录所在分区和所述分区中的文件组;
根据待执行所述数据操作的记录所在分区和所述分区中的文件组,从所述元数据表中获取目标文件路径;
在所述目标文件路径下执行所述数据操作。
2.根据权利要求1所述的方法,其特征在于,所述在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,包括:
获取所述数据湖的数据组织格式组件的分区路径、文件组、所述文件组下所有文件切片的信息,所述数据湖的数据组织格式组件包括不同的分区路径,不同的分区路径中包括有不同的文件组,所述文件切片的信息包括文件名和文件大小;
将所述分区路径、文件组作为键,所有文件切片的信息作为键值,构建关联的键值对;
根据所述关联的键值对,构建得到所述元数据表,所述关联的键值对用于作为所述文件路径信息。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标文件路径下执行所述数据操作之后,还包括:
根据在所述目标文件路径下执行的所述数据操作,确定待更新信息,所述待更新信息包括分区更新信息、文件组更新信息、文件切片更新信息中的至少一种;
根据所述待更新信息,对所述元数据表中的文件路径信息进行更新。
4.根据权利要求3所述的方法,其特征在于,所述对所述元数据表中的文件路径信息进行更新,包括:
根据所述分区更新信息,对所述文件路径信息中的分区路径进行更新,和/或,根据所述文件组更新信息,对所述分区路径中的文件组进行更新,和/或,根据所述文件切片更新信息,对所述文件组中的文件切片的信息进行更新。
5.根据权利要求1所述的方法,其特征在于,所述在所述目标文件路径下执行所述数据操作之后,还包括:
获取事务执行完毕之后的元数据,并根据所述事务执行完毕之后的元数据,对元数据文件夹下的元数据文件进行更新。
6.根据权利要求1所述的方法,其特征在于,所述在所述目标文件路径下执行所述数据操作,包括:
在所述目标文件路径下执行数据查询操作、数据回滚操作、数据提取与合并操作中的至少一种。
7.根据权利要求1所述的方法,其特征在于,所述分布式数据库组件为远程字典服务,所述方法还包括:
获取所述数据湖的数据组织格式组件中访问量大于预设阈值的数据文件,将所述数据文件缓存至所述远程字典服务的内存中。
8.一种元数据处理装置,其特征在于,包括:
数据表构建模块,用于在分布式数据库组件中建立数据湖的数据组织格式组件对应的元数据表,所述元数据表中包括有元数据的文件路径信息;
区组确定模块,用于根据所述数据湖的数据组织格式组件在执行事务时涉及的数据操作,确定待执行所述数据操作的记录所在分区和所述分区中的文件组;
路径获取模块,用于根据待执行所述数据操作的记录所在分区和所述分区中的文件组,从所述元数据表中获取目标文件路径;
操作执行模块,用于在所述目标文件路径下执行所述数据操作。
9.一种计算机设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179839.7A CN115658683A (zh) | 2022-09-27 | 2022-09-27 | 元数据处理方法、装置、设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179839.7A CN115658683A (zh) | 2022-09-27 | 2022-09-27 | 元数据处理方法、装置、设备、介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658683A true CN115658683A (zh) | 2023-01-31 |
Family
ID=84986242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211179839.7A Pending CN115658683A (zh) | 2022-09-27 | 2022-09-27 | 元数据处理方法、装置、设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658683A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028504A (zh) * | 2023-02-20 | 2023-04-28 | 北京数元灵科技有限公司 | 一种数据湖元数据管理方法及装置 |
-
2022
- 2022-09-27 CN CN202211179839.7A patent/CN115658683A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028504A (zh) * | 2023-02-20 | 2023-04-28 | 北京数元灵科技有限公司 | 一种数据湖元数据管理方法及装置 |
CN116028504B (zh) * | 2023-02-20 | 2023-05-30 | 北京数元灵科技有限公司 | 一种数据湖元数据管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110799960B (zh) | 数据库租户迁移的系统和方法 | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
US10754854B2 (en) | Consistent query of local indexes | |
US9576038B1 (en) | Consistent query of local indexes | |
JP2022534215A (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
CN107665219B (zh) | 一种日志管理方法及装置 | |
CN109213432B (zh) | 利用日志结构合并树将数据写入的存储设备及其方法 | |
US20200293506A1 (en) | Bulk-load for b-trees | |
WO2022257575A1 (zh) | 一种数据处理方法、装置以及设备 | |
CN115658683A (zh) | 元数据处理方法、装置、设备、介质和程序产品 | |
CN111680019A (zh) | 一种区块链的数据扩容方法及其装置 | |
US9898468B2 (en) | Single pass file system repair with copy on write | |
Färber et al. | An in-memory database system for multi-tenant applications | |
US7984072B2 (en) | Three-dimensional data structure for storing data of multiple domains and the management thereof | |
CN109710698B (zh) | 一种数据汇聚方法、装置、电子设备及介质 | |
US11940972B2 (en) | Execution of operations on partitioned tables | |
Pankowski | Consistency and availability of Data in replicated NoSQL databases | |
CN115563109A (zh) | 一种LSM-tree存储的L0层数据处理方法及装置 | |
US10942912B1 (en) | Chain logging using key-value data storage | |
CN107102898B (zh) | 一种基于numa架构的内存管理、构建数据结构的方法及装置 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN114625713A (zh) | 一种存储系统中元数据管理方法、装置及存储系统 | |
CN107590286B (zh) | 在集群文件系统中事务信息的管理方法和装置 | |
CN112559457A (zh) | 数据访问方法及装置 | |
CN116431654B (zh) | 基于湖仓一体化的数据存储方法、装置、介质和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |