CN117453673A - 用于数据仓库的数据一致性验证方法、装置、设备及介质 - Google Patents
用于数据仓库的数据一致性验证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117453673A CN117453673A CN202311507974.4A CN202311507974A CN117453673A CN 117453673 A CN117453673 A CN 117453673A CN 202311507974 A CN202311507974 A CN 202311507974A CN 117453673 A CN117453673 A CN 117453673A
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- data table
- fields
- comparison
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012795 verification Methods 0.000 title claims abstract description 37
- 238000013508 migration Methods 0.000 claims abstract description 241
- 230000005012 migration Effects 0.000 claims abstract description 239
- 238000005192 partition Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013515 script Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000013524 data verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种用于数据仓库的数据一致性验证方法、装置、设备及介质,该方法包括:预先设置需要验证的数据字段;根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。该方案,无需编写大量的比对脚本,改变了原有的模式中需要针对每一张数据表编写一套比对脚本,且每张表需要输入对应的字段的复杂方法,本申请的方法只需要输入数据表名,就能实现自动读取数据表的元数据信息,自动化比对两张表数据的MD5值是否相等,更加高效、智能、准确。
Description
技术领域
本发明涉及数据自动化处理技术领域,具体涉及用于数据仓库的数据一致性验证方法、装置、设备及介质。
背景技术
随着数据仓库技术的不断革新,各大企业纷纷开启了数据仓库底层平台换新的工作,这样就面临着大量的老数据仓库作业需要迁移到新的数据仓库。作业迁移需要保证迁移前后两张表数据的一致性,因此数据验证工作就显得尤为重要且由于数据仓库存在着大量的数据表,数据验证的工作量会非常大。
业内通常采用的方式是针对迁移前后的两张表编写SQL,输入表名、字段名,通过字段值是否相等来判断;迁移的每张表都需要编写相应的比对SQL,还需要输入这张表需要比对的字段,这样的工作不仅重复,而且还需要投入大量的人力来编写SQL。
发明内容
基于此,有必要针对上述问题,提出一种用于数据仓库的数据一致性验证方法、装置、设备及介质。
为实现上述目的,本申请第一方面提供一种用于数据仓库的数据一致性验证方法,所述方法包括:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。在一些实施方式中,所述预先设置需要验证的数据字段,具体包括:预先设置需要验证的数据字段至少包括:库名字段、表名字段、分区字段、比对分区日期字段、无需比对字段。
在一些实施方式中,所述根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据,具体包括:
分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据;
或/和、
分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量;
或/和、
分别获取迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,之后,拼接所述迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,将拼接后的数据中为NULL的字段转为空,通过MD5函数将字段concat后的结果进行转换,生成record_key字段;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据。
在一些实施方式中,所述通过对迁移前的数据表格、迁移后的数据表格的数据的比对,具体包括:
在所述解析迁移前的数据表格、迁移后的数据表格中剔除所述分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据,确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段是否一致;如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段一致,继续比对剩余数据;
如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段不一致,确定验证失败。
在一些实施方式中,所述迁移前的数据表格、迁移后的数据表格的字段一致,继续比对剩余数据,之后,所述方法包括:确定所述分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量是否一致,如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据;如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量不一致,确定验证失败。
在一些实施方式中,所述如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据,之后,所述方法包括:根据所述record_key字段确定是否存在NULL或者不相等的情况,如果不存在,确定所述迁移前的数据表格、迁移后的数据表格的数据一致;如果存在,确定所述所述迁移前的数据表格、迁移后的数据表格的数据不一致,执行差异明细数据比对。
在一些实施方式中,所述差异明细数据比对,具体包括:根据所述分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据确定是否一致。
在一些实施方式中,所述获取比对结果,具体包括:完成迁移前的数据表格、迁移后的数据表格中所有字段的比对之后,根据比对结果生成比对结果表。
在一些实施方式中,所述方法还包括:根据所述差异明细数据比对的结果,生成差异明细数据对照表。
为实现上述目的,本申请第二方面提供一种用于数据仓库的数据一致性验证装置,所述装置包括:
设置模块,用于预先设置需要验证的数据字段;
迁移模块,用于根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
比对模块,用于通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
为实现上述目的,本申请第三方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
为实现上述目的,本申请第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
采用本发明实施例,具有如下有益效果:
本发明通过预先设置需要验证的数据字段;根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;通过对迁移前的数据表格、迁移后的数据表格的数据进行比对,获取比对结果,这样,通过迁移前后的数据表格中字段的元数据信息比对,生成对应的比对结果,大大的节省了人力的投入和重复机械式的工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中用于数据仓库的数据一致性验证方法的流程示意图;
图2为一个实施例中用于数据仓库的数据一致性验证装置的结构图;
图3为一个实施例中计算机设备的结构示意图;
图4为一个实施例中计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中,提供一种用于数据仓库的数据一致性验证方法,请参阅图1,图1为一个实施例中用于数据仓库的数据一致性验证方法的流程示意图;用于数据仓库的数据一致性验证方法包括步骤S1至步骤S3。
步骤S1,预先设置需要验证的数据字段;
在一些实施方式中,所述预先设置需要验证的数据字段,具体包括:预先设置需要验证的数据字段至少包括:库名字段、表名字段、分区字段、比对分区日期字段、无需比对字段。
需要说明的是,因为在数据仓库迁移时,会考虑旧仓库有些表的设计不规范性,即在新的仓库进行标准化设计,那么比如分区字段,旧仓库有的表叫做DATA_DT,有的表叫做DT,还有的叫做DATA_DATE,那么在新的数据仓库做标准化时,所有表都统一叫做DATA_DT;那么假如同一张表,在旧仓库的分区字段叫做DT,新的仓库叫做DATA_DT,这时就需要指出新旧表的分区字段对应关系。
无需比对的字段,比如通常在数据仓库的表设计时候会有ETL_TIMESTAMP字段,这个字段表示数据的加工时间戳,那么旧仓库的这个分区的加工时间戳和新仓库的这个分区的加工时间戳肯定不一样,所以无需进行比对;且该字段没有任何业务实际含义,所以也无需进行比对。
步骤S2,根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
在一些实施方式中,所述根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据,具体包括:
分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据;
或/和、
分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量;
或/和、
分别获取迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,之后,拼接所述迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,将拼接后的数据中为NULL的字段转为空,通过MD5函数将字段concat后的结果进行转换,生成record_key字段;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据。
步骤S3,通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果;
在一些实施方式中,所述通过对迁移前的数据表格、迁移后的数据表格的数据的比对,具体包括:
在所述解析迁移前的数据表格、迁移后的数据表格中剔除所述分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据,确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段是否一致;如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段一致,继续比对剩余数据;
如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段不一致,确定验证失败。
进一步地,所述迁移前的数据表格、迁移后的数据表格的字段一致,继续比对剩余数据,之后,所述方法包括:确定所述分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量是否一致,如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据;如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量不一致,确定验证失败。
在一些实施方式中,所述如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据,之后,所述方法包括:根据所述record_key字段确定是否存在NULL或者不相等的情况,如果不存在,确定所述迁移前的数据表格、迁移后的数据表格的数据一致;如果存在,确定所述所述迁移前的数据表格、迁移后的数据表格的数据不一致,执行差异明细数据比对。
更进一步地,所述差异明细数据比对,具体包括:根据所述分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据确定是否一致。
在一些实施方式中,所述获取比对结果,具体包括:完成迁移前的数据表格、迁移后的数据表格中所有字段的比对之后,根据比对结果生成比对结果表。
在一些实施方式中,所述方法还包括:根据所述差异明细数据比对的结果,生成差异明细数据对照表。
输出差异明细数据,开发人员可以根据差异明细数据形成的差异明细数据对照表检查比对过程。
在一些实施方式中,在具体地实施例中将两张表需要比对的字段通过concat方式连接起来,然后再通过MD5进行加密,即对表的每一行进行MD5加密,生成相应的KEY,两张表通过KEY进行等值关联,能关联上的表示两张表的这些行的数据相同,判断表的原纪录数和关联上的记录数是否相同,如果相同则表示两张表的数据一致,通过MD5函数的方式可以对两张表做到精确的比对,确保两张表的数据完全一致,减少人工比对的误差率。
需要说明的是,本申请的方法可以用于新旧数据仓库的迁移,包括表的加工业务逻辑迁移,即在新的数据仓库按照原有的逻辑去加工数据,然后验证通过后会将旧数据仓库的加工逻辑下线;这里,验证的是在新库加工出来的数据和旧库加工出来的数据是否一致,即验证新库的加工逻辑是否正确。
在一些实施例中,将所述步骤S1-S3形成自动脚本执行相应操作,具体包括:
将需要比对的数据表填到配置文件chk_tables_cfg.csv里,这里需要填写的有,新旧库名字段、新旧表名字段、新旧分区字段字段、比对分区日期和无需比对的字段。
检查两张表的字段是否一致:
通过shell分别调用Hive Sql语句:
select*from${newDB}.${newTable}limit 0;
select*from${oldDB}.${oldTable}limit 0;
获取两张表的字段,先通过shell解析并剔除无需比对的字段,然后再比对两张表的字段是否一致,如果一致则继续,否则提示两张表的字段不一致,然后退出;继续比对下一张表。
检查两张表的比对日期的数据量是否一致
通过shell分别调用Hive Sql语句:
Select count(1)from${newDB}.${newTable}where${newPartitionColumn}='${checkDate}';
select count(1)from${oldDB}.${oldTable}where${oldPartitionColumn}='${checkDate}';
获取两张表的数据量,先通过shell解析结果,然后再比对两张表的数据量是否一致,如果一致则继续,否则提示两张表的数据量不一致,然后退出。继续比对下一张表。
继续检查两张表比对日期的数据是否一致,具体包括:
首先,分别concat两张表的字段,并将其中为NULL的字段转为空;
其次,通过MD5函数将字段concat后的结果进行转换,生成record_key字段;
再次,通过加密后record_key字段full outer join,再判断两张表的record_key是否存在NULL或者不相等的情况。如果不存在,则两张表的数据一致。如果存在,则两张表的数据存在不一致的情况,并进入差异明细数据的提取,然后继续比对下一张表。
需要说明的是:
步骤1:先比较需要比对的两张表字段是否一致,剔除无需参与比对的字段;
步骤2:检查两张表的数据量是否一致,如果数据量不一致则比对程序退出。即两张表的数据量一致的情况下才进行比对;
步骤3:将两张表需要比对的字段通过concat方式连接起来,然后再通过MD5进行加密,即对表的每一行进行MD5加密,生成相应的KEY;
步骤4:两张表通过KEY进行等值关联,能关联上的表示两张表的这些行的数据相同;
步骤5:判断表的原纪录数和关联上的记录数是否相同,如果相同则表示两张表的数据一致;
步骤6:如果步骤5的数据不一致,则提取差异数据。如果一致,则按照chk_tables_cfg的配置读取下一张表进行比对。
循环遍历比对完chk_tables_cfg.csv配置文件里的表以后,会输出比对结果清单,在结果清单内会记录两张表比对结果,即通过或不通过,两张表的数据量等信息,方便开发人员知晓检核不通过的原因。
在本申请的另一实施例中,本申请中用于数据仓库的数据一致性验证方法还可以采用shell脚本开发一个通用的自动化比对脚本来实现,该脚本可以根据表名自动获取表的字段,执行数据表的数据验证(包括两张表的字段是否一致、记录数、数据内容的验证),差异明细数据的输出等。
需要说明的是,在具体地实施例中,整体的比对主要有两个文件组成,一个是DC_TOOL的shell脚本,另外一个是需要比对的表的配置文件,即输入参数文件chk_tables_cfg.csv,DC_TOOL.sh会读取chk_tables_cfg.csv配置文件,然后遍历循环需要比对的每一组表;比对的时候,会根据配置剔除无需比对的字段,然后通过读取表的元数据,自动的获取字段信息,再根据获取的字段信息自动的拼接成需要比对的SQL语句;所以这里是采用获取表的元数据方式,自动化的获取表的字段,自动化的生成比对SQL,无需每张表都要去复制它的字段,再写对应的比对SQL语句,这样大大的节省了人力的投入和重复机械式的工作。
在本申请实施例中,提供一种用于数据仓库的数据一致性验证装置,请参阅图2,图2为一个实施例中用于数据仓库的数据一致性验证装置的结构图,该用于数据仓库的数据一致性验证装置包括设置模块201、迁移模块202和比对模块203。
其中,设置模块201,被配置为用于预先设置需要验证的数据字段;
迁移模块202,被配置为用于根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
比对模块203,被配置为用于通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
在一些实施方式中,所述设置模块201还被配置为用于预先设置需要验证的数据字段至少包括:库名字段、表名字段、分区字段、比对分区日期字段、无需比对字段。
在一些实施方式中,所述迁移模块202还被配置为用于分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据;
或/和、
分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量;
或/和、
分别获取迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,之后,拼接所述迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,将拼接后的数据中为NULL的字段转为空,通过MD5函数将字段concat后的结果进行转换,生成record_key字段;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据。
在一些实施方式中,所述比对模块203还被配置为用于在所述解析迁移前的数据表格、迁移后的数据表格中剔除所述分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据,确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段是否一致;如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段一致,继续比对剩余数据;
如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段不一致,确定验证失败。
在一些实施方式中,所述比对模块203还被配置为用于所述迁移前的数据表格、迁移后的数据表格的字段一致,继续比对剩余数据,之后,所述方法包括:确定所述分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量是否一致,如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据;如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量不一致,确定验证失败。
在一些实施方式中,所述比对模块203还被配置为用于所述如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据,之后,所述方法包括:根据所述record_key字段确定是否存在NULL或者不相等的情况,如果不存在,确定所述迁移前的数据表格、迁移后的数据表格的数据一致;如果存在,确定所述所述迁移前的数据表格、迁移后的数据表格的数据不一致,执行差异明细数据比对。
在一些实施方式中,所述比对模块203还被配置为用于根据所述分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据确定是否一致。
在一些实施方式中,所述比对模块203还被配置为用于完成迁移前的数据表格、迁移后的数据表格中所有字段的比对之后,根据比对结果生成比对结果表。
在一些实施方式中,所述比对模块203还被配置为用于根据所述差异明细数据比对的结果,生成差异明细数据对照表。
关于用于数据仓库的数据一致性验证装置中各模块实现上述技术方案的其他细节,可参见上述提供的用于数据仓库的数据一致性验证方法中的描述,此处不再赘述。
在本申请实施例中,提供一种计算机设备,请参阅图3,图3为一个实施例中计算机设备的结构示意图,该设备包括包括存储器301和处理器302,所述存储器301存储有计算机程序,所述计算机程序被所述处理器302执行时,使得所述处理器302执行如下步骤:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
其中,处理器302还可以称为CPU(Central Processing Unit,中央处理单元),处理器302可能是一种集成电路芯片,具有信号的处理能力;处理器302还可以是通用处理器、DSP(Digital Signal Process,数字信号处理器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field Programmable Gata Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,其中通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等。
在本申请实施例中,提供一种计算机可读存储介质,请参阅图4,图4为一个实施例中计算机可读存储介质的结构示意图,该存储介质上存储有可读的计算机程序401;其中,该计算机程序401可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务机器,或者网络设备等)或处理器(processor)执行以下步骤:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
而前述的存储介质包括:U盘、移动硬盘、磁碟或者光盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)等各种可以存储程序代码的介质,或者是计算机、服务机器、手机、平板等终端设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种用于数据仓库的数据一致性验证方法,所述方法包括:
预先设置需要验证的数据字段;
根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
2.根据权利要求1所述的用于数据仓库的数据一致性验证方法,其特征在于,所述预先设置需要验证的数据字段,具体包括:预先设置需要验证的数据字段至少包括:库名字段、表名字段、分区字段、比对分区日期字段、无需比对字段。
3.根据权利要求1所述的用于数据仓库的数据一致性验证方法,其特征在于,所述根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据,具体包括:
分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据;
或/和、
分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量;
或/和、
分别获取迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,之后,拼接所述迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据,将拼接后的数据中为NULL的字段转为空,通过MD5函数将字段concat后的结果进行转换,生成record_key字段;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据;
或/和、分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据。
4.根据权利要求3所述的用于数据仓库的数据一致性验证方法,其特征在于,所述通过对迁移前的数据表格、迁移后的数据表格的数据的比对,具体包括:
在所述解析迁移前的数据表格、迁移后的数据表格中剔除所述分别解析迁移前的数据表格、迁移后的数据表格中无需比对字段的数据,确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段是否一致;如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段一致,继续比对剩余数据;
如果确定所述迁移前的数据表格、迁移后的数据表格中剩余的字段不一致,确定验证失败。
5.根据权利要求4所述的用于数据仓库的数据一致性验证方法,其特征在于,所述迁移前的数据表格、迁移后的数据表格的字段一致,继续比对剩余数据,之后,所述方法包括:确定所述分别确定迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量是否一致,如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据;如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量不一致,确定验证失败。
6.根据权利要求5所述的用于数据仓库的数据一致性验证方法,其特征在于,所述如果迁移前的数据表格、迁移后的数据表格中比对分区日期字段的数据量一致,继续比对剩余数据,之后,所述方法包括:根据所述record_key字段确定是否存在NULL或者不相等的情况,如果不存在,确定所述迁移前的数据表格、迁移后的数据表格的数据一致;如果存在,确定所述所述迁移前的数据表格、迁移后的数据表格的数据不一致,执行差异明细数据比对。
7.根据权利要求6所述的用于数据仓库的数据一致性验证方法,其特征在于,所述差异明细数据比对,具体包括:根据所述分别获取迁移前的数据表格、迁移后的数据表格中库名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中表名字段的数据确定是否一致;
或/和、根据所述分别获取迁移前的数据表格、迁移后的数据表格中分区字段的数据确定是否一致。
8.根据权利要求7所述的用于数据仓库的数据一致性验证方法,其特征在于,所述获取比对结果,具体包括:完成迁移前的数据表格、迁移后的数据表格中所有字段的比对之后,根据比对结果生成比对结果表。
9.根据权利要求8所述的用于数据仓库的数据一致性验证方法,其特征在于,所述方法还包括:根据所述差异明细数据比对的结果,生成差异明细数据对照表。
10.一种用于数据仓库的数据一致性验证装置,其特征在于,所述装置包括:
设置模块,用于预先设置需要验证的数据字段;
迁移模块,用于根据所述数据字段分别获取迁移前的数据表格、迁移后的数据表格的数据;
比对模块,用于通过对迁移前的数据表格、迁移后的数据表格的数据的比对,获取比对结果。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311507974.4A CN117453673A (zh) | 2023-11-13 | 2023-11-13 | 用于数据仓库的数据一致性验证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311507974.4A CN117453673A (zh) | 2023-11-13 | 2023-11-13 | 用于数据仓库的数据一致性验证方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453673A true CN117453673A (zh) | 2024-01-26 |
Family
ID=89587253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311507974.4A Pending CN117453673A (zh) | 2023-11-13 | 2023-11-13 | 用于数据仓库的数据一致性验证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453673A (zh) |
-
2023
- 2023-11-13 CN CN202311507974.4A patent/CN117453673A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614324B (zh) | 一种测试用例生成方法和装置 | |
CN110941546A (zh) | Web页面用例的自动化测试方法、装置、设备及存储介质 | |
CN106776515B (zh) | 数据处理的方法及装置 | |
CN112148509A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN110019566A (zh) | 基于数据仓库的数据检查方法、装置、计算机设备和存储介质 | |
CN113127347B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN111209206B (zh) | 一种软件产品的自动测试方法及系统 | |
WO2018177205A1 (zh) | 回归测试方法、装置、计算机设备和存储介质 | |
WO2020232883A1 (zh) | 脚本缺陷扫描方法、装置、计算机设备和存储介质 | |
CN110147354B (zh) | 批量数据编辑方法、装置、计算机设备及存储介质 | |
CN111221721B (zh) | 一种单元测试案例自动化录制和执行方法及装置 | |
CN112948473A (zh) | 数据仓库的数据处理方法、装置、系统及存储介质 | |
CN117453673A (zh) | 用于数据仓库的数据一致性验证方法、装置、设备及介质 | |
CN111966699A (zh) | 校验数据的方法、装置、计算机设备和存储介质 | |
CN116521538A (zh) | 命令行界面自动测试方法、装置、电子设备及存储介质 | |
CN107092671B (zh) | 一种元信息管理的方法及设备 | |
CN115827691A (zh) | 批量处理结果验证方法、装置、计算机设备、存储介质 | |
CN115422095A (zh) | 一种回归测试用例推荐方法、装置、设备及介质 | |
CN112148721B (zh) | 数据检核方法、装置、电子设备及存储介质 | |
CN115705297A (zh) | 代码调用检测方法、装置、计算机设备以及存储介质 | |
CN112416417A (zh) | 一种代码量统计方法、装置、电子设备及存储介质 | |
CN114706785B (zh) | 一种覆盖率过滤文件生成方法、装置、设备及介质 | |
CN113052463B (zh) | 工作流核验方法、装置、计算机设备及存储介质 | |
CN116010349B (zh) | 基于元数据的数据检核方法和装置、电子设备和存储介质 | |
CN115422910A (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 |