CN113486022A - 一种数据一致性验证方法和相关装置 - Google Patents
一种数据一致性验证方法和相关装置 Download PDFInfo
- Publication number
- CN113486022A CN113486022A CN202110850826.7A CN202110850826A CN113486022A CN 113486022 A CN113486022 A CN 113486022A CN 202110850826 A CN202110850826 A CN 202110850826A CN 113486022 A CN113486022 A CN 113486022A
- Authority
- CN
- China
- Prior art keywords
- data
- target field
- target
- field
- verification
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本申请公开了一种数据一致性验证方法及相关装置。方法中,首先确定具有映射关系的目标hive表和目标GBase数据库表。其后根据目标hive表中的第一目标字段和目标GBase数据库表中第二目标字段,确定对第一目标字段的数据和第二目标字段的数据进行一致性验证的验证通过条件。依据验证通过条件可以辅助有目的有依据地执行对第一目标字段和第二目标字段的数据一致性验证。最后,根据验证通过条件、第一目标字段的数据和第二目标字段的数据,获得对第一目标字段的数据和第二目标字段的数据的一致性验证结果。此方法可自动实现字段级别精度的数据一致性验证,精准定位问题数据所属的字段,降低对人员专业性的依赖,节省人力成本。
Description
技术领域
本申请涉及数据验证技术领域,特别是涉及一种数据一致性验证方法和相关装置。
背景技术
在各行业的大数据应用中,可以基于实际需求形成数据表。Hadoop是一种分布式系统基础架构,Hadoop生态更擅长批处理以及多表或全表扫描,实时流处理,非结构化数据的存储和转换等。大规模并行处理(Massively Parallel Processing,MPP)MPP架构将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。采用MPP架构的数据库称为MPP数据库。MPP更擅长于报表、即席查询、结构化数据计算分析等。基于复杂数据的背景下,越来越多的企业选择使用Hadoop和MPP混合的架构实现全数据业务需求,达到两者在数据处理中的优势互补。比如一般用Hadoop实现大数据平台,MPP实现数据仓库。
hive为基于Hadoop生态中的一个数据仓库工具。它本质上不是一种数据库,而是一种工具。hive用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,可以将SQL语句转换为MapReduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称HQL(Hive SQL),使不熟悉mapreduce的用户可以很方便地利用SQL语言查询、汇总和分析数据。由于它能把Hadoop里结构化的数据文件映射为数据库表,并且提供类似SQL查询的HQL(全称:Hive SQL)查询,所以可以把hive工具当做数据库去理解。后文将hive工具提取到的数据表简称为hive表。
GBase 8a MPP数据库(后文简称:GBase数据库)为MPP列存储数据库的代表。列式数据库是以列相关存储架构进行数据存储的数据库,主要适合于批量数据处理和即时查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合于小批量的数据处理,常用于联机事务型数据处理。
hive和GBase在企业项目的定位和用处不一样,导致需要对里面的数据类型有所处理。在Hadoop与MPP数据的交互和转换,即hive表和GBase数据库表的交互和转换中,需要验证两者的数据一致性。由于hive和GBase数据库在存储模型、计算模式、数据分布方式、对SQL的兼容性等方面的不同,在涉及成千上万张表的复杂需求测试下,在数据量巨大,查询效率会非常慢,验证时,需要在hive表和GBase中分别写HQL和SQL语句进行查询,并将查询结果进行人工比对,得出验证结果。验证过程将非常耗时耗力。此外,这种比对方法要求验证人员对SQL和HQL具有一定了解,且比对结果无法保证所有列的数据准确。在涉及表数量多时,需要的人力和时间成本成倍增加。且一旦对比结果出现问题,定位到具体字段会非常困难。
发明内容
基于上述问题,本申请提供了一种数据一致性验证方法和相关装置,以自动实现hive表和GBase数据库表之间数据一致性的精确验证。
本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种数据一致性验证方法,包括:
确定目标hive表和目标GBase数据库表,所述目标hive表和所述目标GBase数据库表具有映射关系;
根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,所述第一目标字段和所述第二目标字段具有映射关系;
根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果。
可选地,所述根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,包括:
当所述第一目标字段与所述第二目标字段为预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据的含义相同作为所述验证通过条件;
当所述第一目标字段与所述第二目标字段为非预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据满足预设数据类型转换关系作为所述验证通过条件。
可选地,在所述确定目标hive表和目标GBase数据库表之前,所述方法还包括:
根据业务需求配置待验证的hive表和待验证的GBase数据库表之间的映射关系,并根据所述业务需求配置所述待验证的hive表中待验证字段和所述GBase数据库表中待验证字段的映射关系。
可选地,所述根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果,包括:
当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据通过一致性验证;
当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据未通过一致性验证;所述一致性验证结果包括差异字段信息,所述差异字段信息包括所述第一目标字段与所述第二目标字段。
可选地,上述方法还包括:
根据所述目标hive表生成第一文件,并根据所述目标GBase数据库表生成第二文件,所述第一文件与所述第二文件的文件类型相同。
可选地,上述方法还包括:
根据目标验证效率以及所述目标hive表的数据量和所述目标GBase数据库表的数据量,确定所述文件类型。
可选地,所述预设数据类型转换关系包括:
所述第一目标字段的数据类型为int、integer、tinyint或smallint,所述第二目标字段的数据类型为int;或者,
所述第一目标字段的数据类型为text、clob或blob,所述第二目标字段的数据类型为varchar;或者,
所述第一目标字段的数据类型为string,所述第二目标字段的数据类型为varchar。
第二方面,本申请提供了一种数据一致性验证装置,包括:
数据表确定模块,用于确定目标hive表和目标GBase数据库表,所述目标hive表和所述目标GBase数据库表具有映射关系;
条件确定模块,用于根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,所述第一目标字段和所述第二目标字段具有映射关系;
验证模块,用于根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果。
可选地,所述条件确定模块,包括:第一条件确定单元和第二条件确定单元;
所述第一条件确定单元,用于当所述第一目标字段与所述第二目标字段为预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据的含义相同作为所述验证通过条件;
所述第二条件确定单元,用于当所述第一目标字段与所述第二目标字段为非预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据满足预设数据类型转换关系作为所述验证通过条件。
可选地,所述验证模块,包括:第一验证单元和第二验证单元;
所述第一验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据通过一致性验证;
所述第二验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据未通过一致性验证;所述一致性验证结果包括差异字段信息,所述差异字段信息包括所述第一目标字段与所述第二目标字段。
相较于现有技术,本申请具有以下有益效果:
本申请提供的一种数据一致性验证方法中,首先确定目标hive表和目标GBase数据库表,目标hive表和目标GBase数据库表具有映射关系,从而确定出需要进行数据一致性验证的两方数据表。其后,根据目标hive表中的第一目标字段和目标GBase数据库表中第二目标字段,确定对第一目标字段的数据和第二目标字段的数据进行一致性验证的验证通过条件,第一目标字段和第二目标字段具有映射关系。依据第一目标字段和第二目标字段所确定的验证通过条件,可以辅助有目的有依据地执行对第一目标字段和第二目标字段的数据一致性验证。最后,根据验证通过条件、第一目标字段的数据和第二目标字段的数据,获得对第一目标字段的数据和第二目标字段的数据的一致性验证结果。此方法可以自动实现字段级别精度的数据一致性验证,精准定位问题数据所属的字段,降低对人员专业性的依赖,节省人力成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种数据一致性验证方法的流程图;
图1B为本申请实施例提供的另一种数据一致性验证方法的流程图;
图2为本申请实施例提供的一种数据一致性验证装置的结构示意图。
具体实施方式
目前,越来越多的企业选择使用Hadoop和MPP混合的架构实现全数据业务需求。hive为企业大数据平台,存储企业各源系统数据,要保证数据与源系统的数据完全一致。而各源系统数据是存储在各种各样的数据库里的,也就是说,源系统的数据来源多种多样,导致它的数据类型也多种多样,比如有oracle、mysql、db2等。而GBase一般是用于搭建数据仓库平台或分析类系统,存在对数据的整合、加工、建模,它的数据来源可能是从大数据平台抽取,就涉及到从hive到GBase的转换。不管是搭建数据仓库或者做其他分析类系统的后台数据库,需要保证它的数据准确,进而保证其可用性。而在hive表和GBase数据库表之间进行数据一致性验证是验证GBase数据库表中数据准确的一个关键的操作,通过验证才能够核实GBase数据库表中的数据是否失真。失真的数据可能会严重影响数据的可用性。
目前验证hive表和GBase数据库表中数据一致性的操作通常由具备一定验证经验的人员人工执行,存在验证结果准确性不稳定,问题数据的定位精度低,人力成本高且效率低的问题。基于以上问题,本申请提供了一种针对性的解决方案。具体地,本申请提供了一种数据一致性验证方法和相关装置。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1A,该图为本申请实施例提供的一种数据一致性验证方法的流程图。如图1A所示的数据一致性验证方法包括:
步骤101:确定目标hive表和目标GBase数据库表,目标hive表和目标GBase数据库表具有映射关系。
本申请实施例中,目标hive表和目标GBase数据库表分别为需要相互验证数据一致性的hive表和GBase数据库表。目标hive表和目标GBase数据库表具体可以视企业项目对数据的使用需求而定。例如,需要使用的数据隶属于某一hive表,则将该hive表确定为目标hive表,并且将与该目标hive表具有映射关系的GBase数据库表确定为目标GBase数据库表。类似地,也可以是当确定需要使用的数据隶属于某一GBase数据库表时,将该GBase数据库表确定为目标GBase数据库表,将与该目标GBase数据库表具有映射关系的hive表确定为目标hive表。此处,映射关系是指两种表之间具有对应的数据,能够进行相互验证的关系。
在目标hive表和目标GBase数据库表之间,对应的数据隶属于具有映射关系的待验真字段。具有映射关系的待验证字段的名称在目标hive表和目标GBase数据库表之间可能相同也可能不同。为了便于区分,本申请中将目标hive表中待验证字段定义为第一字段,将目标GBase数据库表中与第一字段具有映射关系的待验证字段定义为第二字段。
在一种可选的实现方式中,可以预先根据业务需求配置待验证的hive表和待验证的GBase数据库表之间的映射关系,并根据业务需求配置待验证的hive表中待验证字段和GBase数据库表中待验证字段的映射关系。其后,在本步骤中,基于预先配置的映射关系以及实际业务需求确定出目标hive表和目标GBase数据库表。
步骤102:根据目标hive表中的第一目标字段和目标GBase数据库表中第二目标字段,确定对第一目标字段的数据和第二目标字段的数据进行一致性验证的验证通过条件,第一目标字段和第二目标字段具有映射关系。
实际应用中,需要结合具体的字段来确定数据一致性验证的验证通过条件,在结合匹配的验证通过条件来具体执行目标hive表和目标GBase数据库表之间关于字段的一致性验证操作。
下面介绍几种基于具体的字段确定数据一致性验证的验证通过条件的实现方式。
在一种可能的实现方式中,当第一目标字段与第二目标字段为预设含义类型的字段时,将第一目标字段的数据与第二目标字段的数据的含义相同作为验证通过条件。作为示例预设含义类型包括:金额类型或日期类型。
作为一示例,各个源系统的报表中,会有某某金额这种字段,不同的源系统进入hive里,它定义的数据类型可能多种多样,可能有number、有char、有decimal等等,那么到GBase里,为了后续数据统一可用,需要把所有金额类型的字段的数据类型全都转换成decimal。这样使得系统进行分析计算时这些表的金额字段都能正确参与计算。这种转换的结果可能是某个值从0.1变成0.10000000,数据形式上虽然看上去不一样,但实际上是正确的,因为含义为金额的两个数据0.1(来自hive表)和0.10000000(来自GBase数据库表)是一致的。
作为另一示例,日期字段在源系统中可能有2021/7/15,也有20210715,也有15/07/21等等多种设计方式,存在多种数据类型去存储它们,可能有varchar,date,string,甚至不规范的系统会把它存成NUMBER。而在GBase里,可能需要统一把日期类字段转换成date。否则以后想汇总某一天的数据,不同的类型就无法统计了。那么这种转换的比对,就需要识别20210715和2021/7/15是一致的数据。
结合上述示例,在一种可能的实现方式中,可以当第一目标字段与第二目标字段为预设含义类型的字段时,将第一目标字段的数据与第二目标字段的数据的含义相同作为验证通过条件。
在另一种可能的实现方式中,当第一目标字段与第二目标字段为非预设含义类型的字段时,将第一目标字段的数据与第二目标字段的数据满足预设数据类型转换关系作为验证通过条件。
举例而言,在Gbase里,为了更方便准确的对数据的整合、加工、建模,可能会对某些数据类型进行统一的转换。比如,所有在hive表里是int、integer、tinyint、smallint类型的,全部转换成int类型;所有在hive表里是text、clob、blob类型的,全部转换成varchar类型。这种类型转换依据的就是某个项目设计定义好的合规的预设数据类型转换关系。对于这种情况,验证数据一致性不需要考虑字段的具体含义,只看第一目标字段和第二目标字段的数据类型是否符合预设数据类型转换关系即可。此外,还有一种特殊情况就是GBase数据库表和hive表本身支持的数据类型不同,比如hive表的string类型的字段,到GBase数据库表里需要把它转换为varchar类型的字段,这是因为GBase数据库表不支持string类型。
结合上述示例,在另一种可能的实现方式中,当第一目标字段与第二目标字段为非预设含义类型的字段时,将第一目标字段的数据与第二目标字段的数据满足预设数据类型转换关系作为验证通过条件。具体地,预设数据类型转换关系包括:
第一目标字段的数据类型为int、integer、tinyint或smallint,对应的第二目标字段的数据类型为int;或者,
第一目标字段的数据类型为text、clob或blob,对应的第二目标字段的数据类型为varchar;或者,
第一目标字段的数据类型为string,对应的第二目标字段的数据类型为varchar。
步骤103:根据验证通过条件、第一目标字段的数据和第二目标字段的数据,获得对第一目标字段的数据和第二目标字段的数据的一致性验证结果。
可以理解的是,当根据验证通过条件对第一目标字段的数据和第二目标字段的数据进行验证时,获得的一致性验证结果可能分为两种情况,分别是通过验证和未通过验证。
当第一目标字段的数据和第二目标字段的数据不满足验证通过条件时,生成一致性验证结果,一致性验证结果指示第一目标字段的数据与第二目标字段的数据通过一致性验证。
例如,一致性验证结果包括每一对进行验证的第一目标字段和第二目标字段对应的验证结果呈现区域。在该区域显示空白或者显示对勾或者显示“通过”字样。
当第一目标字段的数据和第二目标字段的数据不满足验证通过条件时,生成一致性验证结果,一致性验证结果指示第一目标字段的数据与第二目标字段的数据未通过一致性验证。
例如,一致性验证结果包括每一对进行验证的第一目标字段和第二目标字段对应的验证结果呈现区域。在该区域显示删除差异字段信息,该差异字段信息可以包括:第一目标字段和第二目标字段的字段名,还可以具体到第一目标字段与第二目标字段中不一致的数据或者不一致数据在表中的行数。
以上即为本申请实施例提供的一种数据一致性验证方法。该方法中首先确定目标hive表和目标GBase数据库表,目标hive表和目标GBase数据库表具有映射关系,从而确定出需要进行数据一致性验证的两方数据表。其后,根据目标hive表中的第一目标字段和目标GBase数据库表中第二目标字段,确定对第一目标字段的数据和第二目标字段的数据进行一致性验证的验证通过条件,第一目标字段和第二目标字段具有映射关系。依据第一目标字段和第二目标字段所确定的验证通过条件,可以辅助有目的有依据地执行对第一目标字段和第二目标字段的数据一致性验证。最后,根据验证通过条件、第一目标字段的数据和第二目标字段的数据,获得对第一目标字段的数据和第二目标字段的数据的一致性验证结果。此方法可以自动实现字段级别精度的数据一致性验证,精准定位问题数据所属的字段,降低对人员专业性的依赖,节省人力成本节省时间。
实际应用中,在进行验证之前,以及基于映射关系确定出目标hive表和目标GBase数据库表后,读取目标hive表中的数据生成第一文件,将第一文件放入指定的目录,并通过GBaseConnector结构读取目标GBase数据库表中的数据生成第二文件,将第二文件放入前述的指定目录中。为了便于验证比对一致性,可选地,生成的第一文件和第二文件的文件类型相同,格式一致,如此方便比对验证数据一致性。作为示例,文件类型可以是自定义分隔符的文本文件。
值得一提的是,读取目标hive表和目标GBase数据库表并分别生成文件的过程,该过程需要充分考虑其性能,评估所验证的数据量大小和其会对效率产生的影响再决定技术选型。本申请中生成的第一文件和第二文件的文件类型可根据实际情况(例如数据量大小和验证效率)确定。基于数据量、验证效率等实际参数或实际需求而确定出文件类型,并基于此文件类型生成第一文件和第二文件,可以有效匹配实际需求,保证验证效率。
图1B为本申请实施例提供的另一种数据一致性验证方法的流程示意图。如图1B所示,首先配置表与表之间,字段与字段之间的映射关系;其后分别读取具备映射关系的目标hive表和目标GBase库表中的第一目标字段和第二目标字段的数据,生成第一文件和第二文件;接着基于验证通过条件对第一目标字段和第二目标字段的数据进行一致性的比对验证,获得一致性验证结果;最终输出一致性验证结果。本申请提供的一种实现hive表和GBase数据库表字段级的数据一致性精确验证(可以实现批量验证)的方案,在比对之前只需要配置所需比对范围的表信息,即可生成和输出一致性验证结果。目前此方案已实施并在项目中进行应用,实践表明该方案可节省大量人力和时间。
作为一验证示例,在目标hive表中第一目标字段的数据包括:00386,01022,01095,01187,01206,01309,01311等,在目标GBase数据库表中第二目标字段的数据包括:386,1022,1095,1187,1206,1309,1311等。显然是第一目标字段与第二目标字段之间数据类型转换有误导致,在hive表里第一目标字段可能定义为字符型,但是在GBase数据库表里可能把它定义成了数字型,就导致前面的0丢失。这个字段可能为机构号或者编号类的值,在后续的计算或者建模中,可能需要将这张表的这个字段与其他表关联,那么这样失真的数据就导致无法关联。而如果字段的含义是金额,如果定义的数据类型错误,可能会导致后续用这个字段计算指标、出报表等数据错误。如果不执行数据一致性验证而直接使用数据,也有可能产生其他故障,例如分析数据时无法保证数据准确。另外如果转换后字段类型长度定义错误,字段超长,可能导致数据加载失败、系统批量失败。通过本申请实施例中对两数据表数据一致性的验证,可以及时、有效、高效、高精度地定位出异常字段,从而保证数据的有效性。
基于前述实施例提供的方法,相应的,本申请还提供了一种数据一致性验证装置。参见图2,该图为本申请实施例提供的一种数据一致性验证装置的结构示意图。如图2所示,数据一致性验证装置200包括:
数据表确定模块201,用于确定目标hive表和目标GBase数据库表,所述目标hive表和所述目标GBase数据库表具有映射关系;
条件确定模块202,用于根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,所述第一目标字段和所述第二目标字段具有映射关系;
验证模块203,用于根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果。
可选地,所述条件确定模块202,包括:第一条件确定单元和第二条件确定单元;
所述第一条件确定单元,用于当所述第一目标字段与所述第二目标字段为预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据的含义相同作为所述验证通过条件;
所述第二条件确定单元,用于当所述第一目标字段与所述第二目标字段为非预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据满足预设数据类型转换关系作为所述验证通过条件。
可选地,数据一致性验证装置200还包括:
映射关系配置模块,用于根据业务需求配置待验证的hive表和待验证的GBase数据库表之间的映射关系,并根据所述业务需求配置所述待验证的hive表中待验证字段和所述GBase数据库表中待验证字段的映射关系。
可选地,所述验证模块203,包括:第一验证单元和第二验证单元;
所述第一验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据通过一致性验证;
所述第二验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据未通过一致性验证;所述一致性验证结果包括差异字段信息,所述差异字段信息包括所述第一目标字段与所述第二目标字段。
可选地,数据一致性验证装置200还包括:
文件生成模块,用于根据所述目标hive表生成第一文件,并根据所述目标GBase数据库表生成第二文件,所述第一文件与所述第二文件的文件类型相同。
可选地,数据一致性验证装置200还包括:
文件类型确定模块,用于根据目标验证效率以及所述目标hive表的数据量和所述目标GBase数据库表的数据量,确定所述文件类型。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种数据一致性验证方法,其特征在于,包括:
确定目标hive表和目标GBase数据库表,所述目标hive表和所述目标GBase数据库表具有映射关系;
根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,所述第一目标字段和所述第二目标字段具有映射关系;
根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,包括:
当所述第一目标字段与所述第二目标字段为预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据的含义相同作为所述验证通过条件;
当所述第一目标字段与所述第二目标字段为非预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据满足预设数据类型转换关系作为所述验证通过条件。
3.根据权利要求1所述的方法,其特征在于,在所述确定目标hive表和目标GBase数据库表之前,所述方法还包括:
根据业务需求配置待验证的hive表和待验证的GBase数据库表之间的映射关系,并根据所述业务需求配置所述待验证的hive表中待验证字段和所述GBase数据库表中待验证字段的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果,包括:
当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据通过一致性验证;
当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据未通过一致性验证;所述一致性验证结果包括差异字段信息,所述差异字段信息包括所述第一目标字段与所述第二目标字段。
5.根据权利要求1所述的方法,其特征在于,还包括:
根据所述目标hive表生成第一文件,并根据所述目标GBase数据库表生成第二文件,所述第一文件与所述第二文件的文件类型相同。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据目标验证效率以及所述目标hive表的数据量和所述目标GBase数据库表的数据量,确定所述文件类型。
7.根据权利要求2所述的方法,其特征在于,所述预设数据类型转换关系包括:
所述第一目标字段的数据类型为int、integer、tinyint或smallint,所述第二目标字段的数据类型为int;或者,
所述第一目标字段的数据类型为text、clob或blob,所述第二目标字段的数据类型为varchar;或者,
所述第一目标字段的数据类型为string,所述第二目标字段的数据类型为varchar。
8.一种数据一致性验证装置,其特征在于,包括:
数据表确定模块,用于确定目标hive表和目标GBase数据库表,所述目标hive表和所述目标GBase数据库表具有映射关系;
条件确定模块,用于根据所述目标hive表中的第一目标字段和所述目标GBase数据库表中第二目标字段,确定对所述第一目标字段的数据和所述第二目标字段的数据进行一致性验证的验证通过条件,所述第一目标字段和所述第二目标字段具有映射关系;
验证模块,用于根据所述验证通过条件、所述第一目标字段的数据和所述第二目标字段的数据,获得对所述第一目标字段的数据和所述第二目标字段的数据的一致性验证结果。
9.根据权利要求8所述的装置,其特征在于,所述条件确定模块,包括:第一条件确定单元和第二条件确定单元;
所述第一条件确定单元,用于当所述第一目标字段与所述第二目标字段为预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据的含义相同作为所述验证通过条件;
所述第二条件确定单元,用于当所述第一目标字段与所述第二目标字段为非预设含义类型的字段时,将所述第一目标字段的数据与所述第二目标字段的数据满足预设数据类型转换关系作为所述验证通过条件。
10.根据权利要求8所述的装置,其特征在于,所述验证模块,包括:第一验证单元和第二验证单元;
所述第一验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据通过一致性验证;
所述第二验证单元,用于当所述第一目标字段的数据和所述第二目标字段的数据不满足所述验证通过条件时,生成一致性验证结果,所述一致性验证结果指示所述第一目标字段的数据与所述第二目标字段的数据未通过一致性验证;所述一致性验证结果包括差异字段信息,所述差异字段信息包括所述第一目标字段与所述第二目标字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850826.7A CN113486022A (zh) | 2021-07-27 | 2021-07-27 | 一种数据一致性验证方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850826.7A CN113486022A (zh) | 2021-07-27 | 2021-07-27 | 一种数据一致性验证方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113486022A true CN113486022A (zh) | 2021-10-08 |
Family
ID=77944137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110850826.7A Pending CN113486022A (zh) | 2021-07-27 | 2021-07-27 | 一种数据一致性验证方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486022A (zh) |
-
2021
- 2021-07-27 CN CN202110850826.7A patent/CN113486022A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6940662B2 (ja) | ブロックチェーンを介したアイデンティティと証明書の保護及び検証とのための方法及びシステム | |
CN104866426B (zh) | 软件测试综合控制方法及系统 | |
US8943059B2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
US10339038B1 (en) | Method and system for generating production data pattern driven test data | |
US8019795B2 (en) | Data warehouse test automation framework | |
CN112434059B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109376153B (zh) | 一种基于NiFi的数据写入图数据库的系统及方法 | |
CN103778133A (zh) | 一种数据库对象的变更方法及装置 | |
CN110837520A (zh) | 一种数据处理方法、平台及系统 | |
CN101859303A (zh) | 元数据管理方法及管理系统 | |
US20210034614A1 (en) | Object Scriptability | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
US20230289331A1 (en) | Model generation service for data retrieval | |
Elamin et al. | SSReq: A method for designing Star Schemas from decisional requirements | |
CN111881126A (zh) | 一种大数据管理系统 | |
CN111984745A (zh) | 数据库字段动态扩展方法、装置、设备及存储介质 | |
CN113486022A (zh) | 一种数据一致性验证方法和相关装置 | |
CN111723129B (zh) | 报表生成方法、报表生成装置和电子设备 | |
Haug | Bad big data science | |
CN110597899B (zh) | 项目经费管理方法及系统 | |
CN114328524A (zh) | 单据处理方法、查询方法、系统、设备和介质 | |
CN112396343A (zh) | 一种数据质量核查方法及装置 | |
CN110837365A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
Utama et al. | E-Government Integration of Sidoarjo Regency using Service Oriented Architecture (SOA) | |
Zhan et al. | An SG-CIM Verification Method Based on Schema Comparison |
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 |