CN109815219B - 支持多数据库引擎的数据生命周期管理的实现方法 - Google Patents
支持多数据库引擎的数据生命周期管理的实现方法 Download PDFInfo
- Publication number
- CN109815219B CN109815219B CN201910119266.0A CN201910119266A CN109815219B CN 109815219 B CN109815219 B CN 109815219B CN 201910119266 A CN201910119266 A CN 201910119266A CN 109815219 B CN109815219 B CN 109815219B
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- hive
- metadata
- life cycle
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种支持多数据库引擎的数据生命周期管理的实现方法,所述方法包括:通过Hive MetaStore服务,创建具有生命周期的依赖Hive元数据的Hive表、HBase表和ElasticSearch表;HBase、ElasticSearch集群对SSD盘和HDD盘进行存储;定期调用生命周期管理服务,读取Hive MetaStore服务中表元数据的生命周期信息和分区信息,计算是否存在过期的分区数据,如果存在,根据表元数据信息判断表的类型,依据不同表数据存储类型,调用相应的数据生命周期管理服务,根据表元数据中规则,自动对过期的数据进行删除或迁移。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种支持多数据库引擎的数据生命周期管理的实现方法。
背景技术
随着计算机的不断发展和信息化程度的不断提高,数据量迅速增长,面向海量数据存储及应用也随之蓬勃发展。在海量数据的存储应用中,Hive、HBase、 ElasticSearch作为分布式的存储引擎,分别适用于对半结构化数据、非结构化数据、文本数据的存储,基本满足了大数据应用场景下的所有存储方式的需求。但海量数据对存储资源的需求日益增大,需要对数据进行生命周期的管理。
数据生命周期管理认为数据是有生命周期,随着数据规模的增大,做好历史数据的维护管理,提高系统资源的使用效率,保障系统健康高效运行,实现数据生命周期管理,在数据中心管理平台的落地,使数据在生命周期的各个阶段实现资源利用和数据价值的最大化。因为随着时间的推移,遵循数据访问频率变化与数据量积累变化成反比这一客观规律,所以根据数据访问频率进行数据价值评估,对大量低价值的过期数据进行删除或采取低成本的数据存储方式,对近期热点数据使用高效的存储方式,使数据价值与存储的技术和管理相匹配。因此提出一种对数据进行生命周期管理实现方法成为亟待解决的问题。
发明内容
本发明实施例提供一种支持多数据库引擎的数据生命周期管理的实现方法,用以解决现有技术中的上述问题。
本发明实施例提供一种支持多数据库引擎的数据生命周期管理的实现方法,包括:
通过Hive MetaStore服务,创建具有生命周期的依赖Hive元数据的Hive表、HBase表和ElasticSearch表;
对于HBase数据库引擎,在Hadoop集群HDFS文件系统层,指定SSD盘和HDD盘的访问目录,基于该Hadoop集群分别启动两个HBase集群,设置SSD 盘目录的HBase集群作为存放热点数据的HBase集群,设置HHD盘目录的集群作为存放冷数据的HBase集群;对于ElasticSearch数据库引擎,分别安装两个ElasticSearch集群,一个集群的数据存储路径设置为SSD盘的路径,作为存放热点数据的ElasticSearch集群;一个集群数据存储路径设置为HDD盘的路径,作为存放冷数据的ElasticSearch集群;
定期调用生命周期管理服务,读取Hive MetaStore服务中表元数据的生命周期信息和分区信息,计算是否存在过期的分区数据,如果存在,根据表元数据信息判断表的类型,依据不同表数据存储类型,调用相应的数据生命周期管理服务,根据表元数据中规则,自动对过期的数据进行删除或迁移。
优选地,通过Hive MetaStore服务,创建具有生命周期的依赖Hive元数据的Hive表、HBase表和ElasticSearch表具体包括:
对于Hive数据仓库,通过Hive MetaStore服务创建Hive表,其中,Hive 表包含有各字段信息以及建表元数据的TBLPROPERTIES信息;
对于HBase数据表,通过Hive建表语句将Hive MetaStore服务中的建表信息关联HBase表,通过Spark服务读取Hive MetaStore的建表元数据进行HBase 表的查询,其中,建表元数据的TBLPROPERTIES信息中的`dl.colddir`配置指定了存放冷数据的`hamster.node`,并设置有该表所对应的HBase集群信息 `hmster.node`;
对于ElasticSearch数据表,通过Hive建表语句将Hive MetaStore中的建表信息关联ElasticSearch表,通过Spark服务读取Hive MetaStore的建表元数据进行ElasticSearch表的查询,其中,建表元数据的TBLPROPERTIES信息中的 `dl.colddir`配置指定了存放冷数据的`es.node`,并设置有该表所对应的 ElasticSearch集群信息`es.node`。
优选地,建表元数据的TBLPROPERTIES信息中包括生命周期配置信息,所述生命周期配置信息具体包括:数据的存储方式,数据的生命周期,数据到达生命周期后需要进行操作,和如果数据过期后要进行数据迁移的目的表路径。
优选地,调用相应的数据生命周期管理程序,根据表元数据中规则,自动对过期的数据进行删除或迁移具体包括:
对Hive表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至冷数据表,如果冷数据表不存在,则根据表的元数据信息首先创建冷数据表,然后进行数据迁移,并更新原表和冷数据表的分区元数据信息;
对于HBase表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并删除HBase1集群中的相应表,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至HBase2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息;
对于ElasticSearch表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并删除ES1集群中的相应索引,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至ES2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息。
优选地,对Hive表进行生命周期管理具体包括:
如果Hive MetaStore中读取到的表元数据信息指定了表的存储方式为 `hive`,Hive表按照时间分区进行数据的存储,Hive表的每一个分区对应HDFS 中一个目录,并在Hive MetaStore中存有相应分区的元数据,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果`dl.operator`=`delete`,则直接删除该分区目录,并更新MetaStore中的分区元数据;如果`dl.operator`=`transfer`,则判断是否存在`dl.colddir`对应的冷数据表,如果不存在,则创建相应的冷数据表,将对应的过期分区的目录迁移至冷数据表目录下,并更新原表和冷数据的分区元数据;如果冷数据表存在,则直接进行迁移并更新分区元数据信息。
优选地,对于HBase表进行生命周期管理具体包括:
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为 `hbase`,则表按照时间分区进行数据存储,`hbase`存储方式的相应分区对应一个 HBase表,表名带时间后缀,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果 `dl.operator`=`delete`,则直接删除该分区对应的HBase表,并更新MetaStore中的分区元数据信息;如果`dl.operator`=`transfer`,将对应的过期分区的HBase表迁移到`dl.colddir`对应的HBase集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
优选地,对于ElasticSearch表进行生命周期管理具体包括:
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为`es`,则表按照时间分区进行数据存储,`es`存储方式的相应分区对应一个 ElasticSearch索引,索引名带时间后缀,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果`dl.operator`=`delete`,则直接删除该分区对应的ElasticSearch索引,并更新MetaStore中的分区元数据信息;如果`dl.operator`=`transfer`,将对应的过期分区的ElasticSearch索引迁移到`dl.colddir`对应的ElasticSearch集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
优选地,上述方法进一步包括:
对进行生命周期管理的表进行检索,如果配置了生命周期的表的过期操作为删除操作则检索语句正常执行,如果配置了生命周期的表的过期操作为数据迁移,由热点数据变为冷数据,且查询设计冷数据,对于Hive表则同时查询冷数据表,对于HBase和ElasticSearch表则对冷热数据集群同时进行查询。
采用本发明实施例,实现了对大数据服务器存储、计算资源的充分利用,提供了大数据中数据存储方向。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中系统的整体架构示意图;
图2是本发明实施例中数据生命周期管理的整体实现示意图;
图3是本发明实施例中Hive表数据生命周期管理的流程图;
图4是本发明实施例中HBase表数据生命周期管理的流程图;
图5是本发明实施例中ElasticSearch表数据生命周期管理的流程图;
图6是本发明实施例中数据查询实现的示意图。
具体实施方式
本发明实施例提供了一种对Hive、ElasticSearch、HBase等数据引擎的数据生命周期的管理方法。实现了对Hive表、ES全文表、HBase表数据生命周期的统一管理,对数据平台上的数据进行定期删除或进行存储位置的迁移(例如,由SSD盘到HDD盘),可以对不同的表指定不同的存储周期,时间粒度可以达到天级,并自动更新数据库引擎的元数据。本发明实施例对数据库引擎中历史数据删除、冷热数据转换提供了自动化、可配置、统一化管理的实现方法。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了对多数据库引擎中提供自动化、可配置、统一化的数据生命周期管理,本发明提供了一种基于Hive元数据,对Hive、HBase、ElasticSearch引擎中的数据表进行数据分区的生命周期的设定和热点数据迁移的实现方法,符合当下大数据存储的实际需求,具有较大的实际应用前景。
本发明实施例为了对多数据引擎中的数据进行高效、可配置、自动化、统一的数据生命周期管理,提供一种支持多数据库引擎的数据生命周期管理的实现方法。
本发明实施例的第一部分基于Hive MetaStore服务实现了生命周期管理服务的建表的表元数据管理。
对于Hive数据仓库,通过在Hive MetaStore服务中创建Hive表,Hive表中不仅包含了各字段信息,而且在建表元数据的TBLPROPERTIES信息中包含了如表1所示信息,定义了数据的存储方式,数据的生命周期,数据到达生命周期后需要进行操作,和如果数据过期后要进行数据迁移的目的表路径。
对于HBase数据表,本发明通过Hive建表语句将Hive MetaStore中的建表信息关联HBase表,可以通过Spark服务读取Hive MetaStore的建表元数据进行 HBase表的查询。同Hive数据库建表一样,在关联HBase的建表元数据的 TBLPROPERTIES信息中也包含了如表1所示信息,且`dl.colddir`配置指定了存放冷数据的`hamster.node`。同时在TBLPROPERTIES信息中设置该表所对应的 HBase集群信息`hmster.node`。
对于ElasticSearch数据表,本发明通过Hive建表语句将Hive MetaStore中的建表信息关联ElasticSearch表,可以通过Spark服务读取Hive MetaStore的建表元数据进行ElasticSearch表的查询。同Hive数据库建表一样,在关联 ElasticSearch的建表元数据的TBLPROPERTIES信息中也包含了如表1所示信息,且`dl.colddir`配置指定了存放冷数据的`es.node`。同时在TBLPROPERTIES 信息中设置该表所对应的ElasticSearch集群信息`es.node`。
表1生命周期配置信息
本发明实施例的第二部分提出了一种HBase、ElasticSearch集群对SSD盘和HDD盘的使用方法。
对于HBase数据库引擎,在Hadoop集群HDFS文件系统层,指定SSD盘和HDD盘的访问目录。基于该Hadoop集群分别启动两个HBase集群,设置SSD 盘目录的HBase集群作为存放热点数据的HBase集群,设置HHD盘目录的集群作为存放冷数据的HBase集群。
对于ElasticSearch数据库引擎,分别安装两个ElasticSearch集群,一个集群的数据存储路径设置为SSD盘的路径,作为存放热点数据的ElasticSearch集群;一个集群数据存储路径设置为HDD盘的路径,作为存放冷数据的ElasticSearch 集群。
本发明实施例的第三部分提出了对数据进行删除和迁移的实现方法。数据生命周期管理服务会以天为时间粒度对Hive MetaStore中所有表进行元数据扫描,并检查其生命周期,如果数据过期会根据表元数据中规则,自动对过期的数据进行删除或迁移。
如果Hive MetaStore中读取到的表元数据信息指定了表的存储方式为 `hive`。Hive表按照时间分区进行数据的存储,Hive表的每一个分区对应HDFS 中一个目录,并在Hive MetaStore中存有相应分区的元数据。读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:
1)如果`dl.operator`=`delete`,则直接删除该分区目录,并更新MetaStore 中的分区元数据;
2)如果`dl.operator`=`transfer`,则判断是否存在`dl.colddir`对应的冷数据表,如果不存在,则创建相应的冷数据表,将对应的过期分区的目录迁移至冷数据表目录下,并更新原表和冷数据的分区元数据;如果冷数据表存在,则直接进行迁移并更新分区元数据信息。
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为 `hbase`。表按照时间分区进行数据存储,`hbase`存储方式的相应分区对应一个 HBase表,表名带时间后缀。读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:
1)如果`dl.operator`=`delete`,则直接删除该分区对应的HBase表,并更新MetaStore中的分区元数据信息;
2)如果`dl.operator`=`transfer`,将对应的过期分区的HBase表迁移到 `dl.colddir`对应的HBase集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为`es`。表按照时间分区进行数据存储,`es`存储方式的相应分区对应一个ElasticSearch 索引,索引名带时间后缀。读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:
1)如果`dl.operator`=`delete`,则直接删除该分区对应的ElasticSearch索引,并更新MetaStore中的分区元数据信息;
2)如果`dl.operator`=`transfer`,将对应的过期分区的ElasticSearch索引迁移到`dl.colddir`对应的ElasticSearch集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
本发明实施例的第四部分针对使用该数据生命周期管理方法的数据库引擎提出了使用改进的Spark JDBC进行检索。如果配置了生命周期的表的过期操作为删除操作则检索语句正常执行。如果配置了生命周期的表的过期操作为数据迁移,由热点数据变为冷数据,且查询设计冷数据,对于Hive表则同时查询冷数据表,对于HBase和ElasticSearch表则对冷热数据集群同时进行查询。
为了使本发明技术方案的描述更加清楚明白,以下结合附图,对本发明的一个具体实施实例进行说明。
根据本发明实施例的方法的具体步骤如下:
步骤一、搭建如附图1所示的大数据基础平台,主要组件由Hive MetaStore、Spark JDBC、HBase、Hive、ElasticSearch和数据生命周期管理服务组成。底层数据盘由SSD盘和HDD盘混合组成,HDFS配置了SSD盘和HDD盘目录。 HBase1配置HDFS的SSD盘目录,作为热点数据存储引擎;HBase2配置HDFS 的HDD盘目录,作为冷数据存储引擎。ES1配置SSD盘目录,作为热点数据存储引擎;ES2配置HDD盘目录,作为冷数据存储引擎。Hive MetaStore作为元数据的管理服务,生命周期管理服务对数据平台上的数据进行生命周期的管理。
步骤二、根据表1提供的信息创建具有生命周期的依赖Hive元数据的Hive 表、HBase表和ElasticSearch表。按照附图2所示示意图对数据进行生命周期管理。以天为单位进行定期调用生命周期管理服务。读取MetaStore中表元数据的生命周期信息和分区信息,计算是否存在过期的分区数据,如果存在,根据表元数据信息判断表的类型,依据不同表数据存储类型,调用相应的数据生命周期管理程序。
步骤三、对于Hive表的生命周期管理如附图3所示。如果该分区表的数据没有被占用则进行过期后操作类型的判断。如果为删除过期数据,则将该分区的数据直接删除,并更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至冷数据表,如果冷数据表不存在,则根据表的元数据信息首先创建冷数据表,然后进行数据迁移,并更新原表和冷数据表的分区元数据信息。
对于HBase表的生命周期管理如附图4所示,如果该分区表的数据没有被占用则进行过期后操作类型的判断。如果为删除过期数据,则将该分区的数据直接删除,并删除HBase1集群中的相应表,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至HBase2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息。
对于ElasticSearch表的生命周期管理如附图4所示,如果该分区表的数据没有被占用则进行过期后操作类型的判断。如果为删除过期数据,则将该分区的数据直接删除,并删除ES1集群中的相应索引,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至ES2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息。
步骤四、根据附图四示意图对进行生命周期管理的表进行检索。
如果配置了生命周期的表的过期操作为删除操作则检索语句正常执行。如果配置了生命周期的表的过期操作为数据迁移,由热点数据变为冷数据,且查询设计冷数据,对于Hive表则同时查询冷数据表,对于HBase和ElasticSearch 表则对冷热数据集群同时进行查询。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
综上所述,本发明实施例实现了对Hive、HBase、ElasticSearch数据库引擎中数据生命周期的管理,该技术具有自动化、可配置、统一化优点,方便高效地实现了数据生命周期的管理,充分利用了存储资源。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种支持多数据库引擎的数据生命周期管理的实现方法,其特征在于,包括:
通过Hive MetaStore服务,创建具有生命周期的依赖Hive元数据的Hive表、HBase表和ElasticSearch表,其中,Hive表包含有各字段信息以及建表元数据的TBLPROPERTIES信息,建表元数据的TBLPROPERTIES信息中包括生命周期配置信息,所述生命周期配置信息具体包括:数据的存储方式,数据的生命周期,数据到达生命周期后需要进行操作,和如果数据过期后要进行数据迁移的目的表路径;
对于HBase数据库引擎,在Hadoop集群HDFS文件系统层,指定SSD盘和HDD盘的访问目录,基于该Hadoop集群分别启动两个HBase集群,设置SSD盘目录的HBase集群作为存放热点数据的HBase集群,设置HHD盘目录的集群作为存放冷数据的HBase集群;对于ElasticSearch数据库引擎,分别安装两个ElasticSearch集群,一个集群的数据存储路径设置为SSD盘的路径,作为存放热点数据的ElasticSearch集群;一个集群数据存储路径设置为HDD盘的路径,作为存放冷数据的ElasticSearch集群;
定期调用生命周期管理服务,读取Hive MetaStore服务中表元数据的生命周期信息和分区信息,计算是否存在过期的分区数据,如果存在,根据表元数据信息判断表的类型,依据不同表数据存储类型,调用相应的数据生命周期管理服务,根据表元数据中规则,自动对过期的数据进行删除或迁移。
2.如权利要求1所述的方法,其特征在于,通过Hive MetaStore服务,创建具有生命周期的依赖Hive元数据的Hive表、HBase表和ElasticSearch表具体包括:
对于Hive数据仓库,通过Hive MetaStore服务创建Hive表;
对于HBase数据表,通过Hive建表语句将Hive MetaStore服务中的建表信息关联HBase表,通过Spark服务读取Hive MetaStore的建表元数据进行HBase表的查询,其中,建表元数据的TBLPROPERTIES信息中的`dl.colddir`配置指定了存放冷数据的`hamster.node`,并设置有该表所对应的HBase集群信息`hmster.node`;
对于ElasticSearch数据表,通过Hive建表语句将Hive MetaStore中的建表信息关联ElasticSearch表,通过Spark服务读取Hive MetaStore的建表元数据进行ElasticSearch表的查询,其中,建表元数据的TBLPROPERTIES信息中的`dl.colddir`配置指定了存放冷数据的`es.node`,并设置有该表所对应的ElasticSearch集群信息`es.node`。
3.如权利要求1所述的方法,其特征在于,调用相应的数据生命周期管理程序,根据表元数据中规则,自动对过期的数据进行删除或迁移具体包括:
对Hive表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至冷数据表,如果冷数据表不存在,则根据表的元数据信息首先创建冷数据表,然后进行数据迁移,并更新原表和冷数据表的分区元数据信息;
对于HBase表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并删除HBase1集群中的相应表,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至HBase2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息;
对于ElasticSearch表进行生命周期管理,如果该分区表的数据没有被占用则进行过期后操作类型的判断,如果为删除过期数据,则将该分区的数据直接删除,并删除ES1集群中的相应索引,更新表的分区元数据信息;如果为迁移过期数据,则将数据迁移至ES2集群中,并将迁移的分区加冷数据标识后缀,更新分区元数据信息。
4.如权利要求1所述的方法,其特征在于,对Hive表进行生命周期管理具体包括:
如果Hive MetaStore中读取到的表元数据信息指定了表的存储方式为`hive`,Hive表按照时间分区进行数据的存储,Hive表的每一个分区对应HDFS中一个目录,并在HiveMetaStore中存有相应分区的元数据,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果`dl.operator`=`delete`,则直接删除该分区目录,并更新MetaStore中的分区元数据;如果`dl.operator`=`transfer`,则判断是否存在`dl.colddir`对应的冷数据表,如果不存在,则创建相应的冷数据表,将对应的过期分区的目录迁移至冷数据表目录下,并更新原表和冷数据的分区元数据;如果冷数据表存在,则直接进行迁移并更新分区元数据信息。
5.如权利要求1所述的方法,其特征在于,对于HBase表进行生命周期管理具体包括:
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为`hbase`,则表按照时间分区进行数据存储,`hbase`存储方式的相应分区对应一个HBase表,表名带时间后缀,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果`dl.operator`=`delete`,则直接删除该分区对应的HBase表,并更新MetaStore中的分区元数据信息;如果`dl.operator`=`transfer`,将对应的过期分区的HBase表迁移到`dl.colddir`对应的HBase集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
6.如权利要求5所述的方法,其特征在于,对于ElasticSearch表进行生命周期管理具体包括:
如果Hive MetaStore中的读取到表元数据信息指定了表的存储方式为`es`,则表按照时间分区进行数据存储,`es`存储方式的相应分区对应一个ElasticSearch索引,索引名带时间后缀,读取该表的分区信息和生命周期值,进行判断,如果该分区过期,判断该分区是否被占用,如果没有被占用进行如下操作:如果`dl.operator`=`delete`,则直接删除该分区对应的ElasticSearch索引,并更新MetaStore中的分区元数据信息;如果`dl.operator`=`transfer`,将对应的过期分区的ElasticSearch索引迁移到`dl.colddir`对应的ElasticSearch集群中,并修改分区元数据信息,将分区名字更新为带冷数据标识的名字。
7.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
对进行生命周期管理的表进行检索,如果配置了生命周期的表的过期操作为删除操作则检索语句正常执行,如果配置了生命周期的表的过期操作为数据迁移,由热点数据变为冷数据,且查询设计冷数据,对于Hive表则同时查询冷数据表,对于HBase和ElasticSearch表则对冷热数据集群同时进行查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910119266.0A CN109815219B (zh) | 2019-02-18 | 2019-02-18 | 支持多数据库引擎的数据生命周期管理的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910119266.0A CN109815219B (zh) | 2019-02-18 | 2019-02-18 | 支持多数据库引擎的数据生命周期管理的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815219A CN109815219A (zh) | 2019-05-28 |
CN109815219B true CN109815219B (zh) | 2021-11-23 |
Family
ID=66606761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910119266.0A Active CN109815219B (zh) | 2019-02-18 | 2019-02-18 | 支持多数据库引擎的数据生命周期管理的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815219B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840334B (zh) * | 2019-09-25 | 2024-06-11 | 华为云计算技术有限公司 | 管理分区表的数据的方法、装置、管理节点及存储介质 |
CN110674154B (zh) * | 2019-09-26 | 2023-04-07 | 浪潮软件股份有限公司 | 一种基于Spark的对Hive中数据进行插入、更新和删除的方法 |
CN111125047B (zh) * | 2019-12-06 | 2024-03-12 | 中盈优创资讯科技有限公司 | 冷热数据目录识别方法及装置 |
CN111475506B (zh) * | 2020-03-30 | 2024-03-01 | 广州虎牙科技有限公司 | 数据存储、查询的方法、装置、系统、设备、存储介质 |
CN111459900B (zh) * | 2020-04-22 | 2023-07-18 | 广州虎牙科技有限公司 | 大数据生命周期设置方法、装置、存储介质及服务器 |
CN111259068A (zh) * | 2020-04-28 | 2020-06-09 | 成都四方伟业软件股份有限公司 | 一种基于数据仓库的数据开发方法及系统 |
CN111752930A (zh) * | 2020-07-01 | 2020-10-09 | 浪潮云信息技术股份公司 | 一种基于跨引擎水平分区表的大数据生命周期管理方法 |
CN114116685A (zh) * | 2020-08-25 | 2022-03-01 | 福建天泉教育科技有限公司 | 一种非结构化数据库中历史数据的清理方法及终端 |
CN112269781B (zh) * | 2020-11-13 | 2023-07-25 | 网易(杭州)网络有限公司 | 数据生命周期管理方法、装置、介质及电子设备 |
CN112365244B (zh) * | 2020-11-27 | 2024-04-26 | 深圳前海微众银行股份有限公司 | 数据生命周期管理方法和装置 |
CN112433888B (zh) * | 2020-12-02 | 2023-06-30 | 网易(杭州)网络有限公司 | 数据处理方法及装置、存储介质和电子设备 |
CN112286941B (zh) * | 2020-12-23 | 2021-03-23 | 武汉物易云通网络科技有限公司 | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 |
CN112711593A (zh) * | 2021-01-04 | 2021-04-27 | 浪潮云信息技术股份公司 | 一种实现混合事务分析的大数据处理方法 |
CN112988722A (zh) * | 2021-02-05 | 2021-06-18 | 新华三大数据技术有限公司 | 一种Hive分区表数据清理方法、装置及存储介质 |
CN112965665B (zh) * | 2021-03-09 | 2023-09-26 | 华泰证券股份有限公司 | 一种基于sas和ssd的gp数据库数据存储方法 |
CN113672590B (zh) * | 2021-07-22 | 2024-06-07 | 浙江大华技术股份有限公司 | 一种数据清理方法、图数据库装置和计算机可读存储介质 |
CN113515537B (zh) * | 2021-09-13 | 2021-12-31 | 天津南大通用数据技术股份有限公司 | 一种实现生命周期表垃圾数据免维护的方法 |
CN115687333B (zh) * | 2022-09-27 | 2024-03-12 | 西部科学城智能网联汽车创新中心(重庆)有限公司 | 一种v2x大数据生命周期管理方法及装置 |
CN115878628A (zh) * | 2022-12-30 | 2023-03-31 | 中国电信股份有限公司 | 数据表生命周期确定方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657459A (zh) * | 2015-02-09 | 2015-05-27 | 中国科学院信息工程研究所 | 一种基于文件粒度的海量数据存储方法 |
CN106649426A (zh) * | 2016-08-05 | 2017-05-10 | 浪潮软件股份有限公司 | 一种数据分析方法和数据分析平台以及服务器 |
CN108256115A (zh) * | 2017-09-05 | 2018-07-06 | 国家计算机网络与信息安全管理中心 | 一种面向SparkSql的HDFS小文件实时合并实现方法 |
CN108536728A (zh) * | 2018-02-24 | 2018-09-14 | 国家计算机网络与信息安全管理中心 | 一种数据查询方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219088A (zh) * | 2014-08-21 | 2014-12-17 | 南京邮电大学 | 一种基于Hive的网络告警信息OLAP方法 |
CN104820670B (zh) * | 2015-03-13 | 2018-11-06 | 华中电网有限公司 | 一种电力信息大数据的采集和存储方法 |
US10169601B2 (en) * | 2015-11-18 | 2019-01-01 | American Express Travel Related Services Company, Inc. | System and method for reading and writing to big data storage formats |
CN109643242B (zh) * | 2016-05-23 | 2023-06-27 | 摩根大通国家银行 | 用于多租户hadoop集群的安全设计和架构 |
CN109213940B (zh) * | 2017-06-30 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 大数据下实现用户位置计算的方法、存储介质、设备及系统 |
CN109241358A (zh) * | 2018-08-14 | 2019-01-18 | 中国平安财产保险股份有限公司 | 元数据管理方法、装置、计算机设备及存储介质 |
CN109299102B (zh) * | 2018-10-23 | 2020-11-13 | 中国电子科技集团公司第二十八研究所 | 一种基于Elastcisearch的HBase二级索引系统及方法 |
-
2019
- 2019-02-18 CN CN201910119266.0A patent/CN109815219B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657459A (zh) * | 2015-02-09 | 2015-05-27 | 中国科学院信息工程研究所 | 一种基于文件粒度的海量数据存储方法 |
CN106649426A (zh) * | 2016-08-05 | 2017-05-10 | 浪潮软件股份有限公司 | 一种数据分析方法和数据分析平台以及服务器 |
CN108256115A (zh) * | 2017-09-05 | 2018-07-06 | 国家计算机网络与信息安全管理中心 | 一种面向SparkSql的HDFS小文件实时合并实现方法 |
CN108536728A (zh) * | 2018-02-24 | 2018-09-14 | 国家计算机网络与信息安全管理中心 | 一种数据查询方法和装置 |
Non-Patent Citations (3)
Title |
---|
Hive表生命周期管理;CSDN;《https://blog.csdn.net/huanggang028/article/details/79032070/》;20180111;第1页 * |
Spark访问Hive表;博客园;《https://www.cnblogs.com/hsy060314/p/8393262.html》;20180201;第1-3页 * |
如何让HDFS更高效之利用数据冷热度篇;CSDN;《https://blog.csdn.net/u014389734/article/details/78977564》;20180105;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109815219A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815219B (zh) | 支持多数据库引擎的数据生命周期管理的实现方法 | |
CN103150394B (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
US9411840B2 (en) | Scalable data structures | |
CN103067433B (zh) | 一种分布式存储系统的数据迁移方法、设备和系统 | |
CN110162528A (zh) | 海量大数据检索方法及系统 | |
US10127251B2 (en) | Organizing on-disk layout of index structures to support historical keyword search queries over temporally evolving data | |
US11182406B2 (en) | Increased data availability during replication | |
CN103023982A (zh) | 一种云存储客户端的低延迟元数据访问方法 | |
US20180203874A1 (en) | Space-efficient secondary indexing on distributed data stores | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
US11080207B2 (en) | Caching framework for big-data engines in the cloud | |
US8015195B2 (en) | Modifying entry names in directory server | |
CN104166661A (zh) | 数据存储系统和数据存储方法 | |
Souravlas et al. | Trends in data replication strategies: a survey | |
CN112840334B (zh) | 管理分区表的数据的方法、装置、管理节点及存储介质 | |
Xu et al. | Enhancing HDFS with a full-text search system for massive small files | |
Vashisht et al. | Efficient dynamic replication algorithm using agent for data grid | |
CN112650736B (zh) | 一种数据迁移方法及装置 | |
Barkhordari et al. | Atrak: a MapReduce-based data warehouse for big data | |
JP6084700B2 (ja) | 検索システム及び検索方法 | |
Wang et al. | Waterwheel: Realtime indexing and temporal range query processing over massive data streams | |
US20190079987A1 (en) | Distributed data storage | |
US20220012245A1 (en) | Partition key adjustment based on query workload | |
CN115718571B (zh) | 一种基于多维度特征的数据管理方法和装置 | |
CN111565211A (zh) | 一种cdn配置分发网络系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |