本发明涉及数据保障,具体涉及一种大数据场景下的数据质量保障方法。
背景技术:
1、目前大数据领域的数据保障手段比较单一、零碎,通常是采用人工比对、核对或单一的监控脚本进行监控,且负责配置监控任务的测试工程师工作量巨大,导致整体上无法系统化、体系化的进行数据质量保障。
2、通常大数据团队会有元数据管理系统及血缘系统等系统,另外还会以各种监控工具进行辅助,测试工程师还会编写自动化测试用例,通过在各个系统里面切换使用,来保障数据质量。但是现有的各个系统之间无法有效的进行业务关联,无法形成一套完整的数据保障方法。
技术实现思路
1、针对目前存在的技术问题,本发明提供一种大数据场景下的数据质量保障方法,贯穿数据的生命周期,能够一站式完成所有的数据质量保障工作。
2、为实现上述目的,本发明采用的技术方案如下:
3、一种大数据场景下的数据质量保障方法包括以下步骤:
4、步骤1、基于字段信息和数据量,对上线前阶段的数据进行质量评估;
5、步骤2、基于推送前后的数据总量,对上线前阶段的数据进行推送验证;
6、步骤3、基于报表接口的自动化测试,对上线中阶段的核心数据进行分析修复;
7、步骤4、对上线后阶段的数据进行监控分析。
8、进一步地,还包括:在步骤1之前获取数据仓库中所有的数据库信息和数据库中所有的数据表信息。
9、进一步地,步骤1包括:步骤11、采用模型分析工具获取数据库的任一数据表,统计当前数据表所有字段的名称和类型;步骤12、循环当前数据表的所有字段,统计所有类型字段包括空值数量和空值率,字符类型字段的去重数量、字段最大值和最小值,以及数值类型字段的字段值域范围的字段信息;步骤13、统计当前数据表的数据量;步骤14、循环数据库的所有数据表,重复步骤11~步骤13,将步骤11~步骤13的统计结果写入一个excel文件,excel文件中每个工作表存储一个数据表的统计结果;步骤15、根据统计结果对数据库内的数据进行质量评估。
10、进一步地,步骤2包括:步骤21、采用数据比对工具判断推送前数据仓库中源数据表与推送后的目标数据表的数据总量是否一致;步骤22、若源数据表与目标数据表的数据总量一致,在源数据表中随机选择n行数据与目标数据表对应的n行数据进行字段与字段的比对,n为正整数,若每个字段的对比均相同,表示推送验证成功。
11、进一步地,步骤4采用以下监控方法进行监控分析:方法一、采用枚举值监控对数据仓库中原始数据层的数据表进行分析和修复;方法二、采用接口结果监控对报表接口生成的报表进行分析和修复;方法三、采用分层数据监控对数据仓库中原始数据层的数据抽取进行监控、对数据仓库中数据明细层的调度任务进行监控;方法四、采用增量监控对数据仓库中原始数据层的数据变更进行监控;方法五、采用全局事务表监控对事务表的误用进行监控;方法六至八、采用推送es/ck/mysql一致性监控对数据仓库中数据表推送前后数据总量的一致性进行监控;方法九、采用指定表监控对指定数据表中当天分区是否有数据进行监控;方法十、采用维度表唯一性监控对具有唯一性配置数据表的数据唯一性进行监控;方法十一、采用指标空值率监控对具有核心字段配置数据表的数据空值进行监控。
12、进一步地,枚举值监控的方法包括:监控原始数据层的数据表的固定字段,将固定字段的枚举值写入数据库中,定时检查枚举值是否变化,当发生变化时触发告警,分析枚举值变化对数据表的影响并修复数据表。
13、进一步地,接口结果监控的方法包括:在自动化平台建立一个测试计划,调用并测试自动化平台所有接口录入的自动化用例,对测试结果进行监控,当自动化用例未通过时触发告警,分析测试结果并修复报表。
14、进一步地,步骤3中,采用接口结果监控且仅对自动化平台核心报表的接口录入的自动化用例进行测试,分析测试结果并修复核心报表。
15、进一步地,步骤3中,若核心报表的接口未录入自动化用例,则采用步骤4的方法一至方法十一进行上线中阶段的核心数据的分析修复。
16、进一步地,还包括:通过解析报表关联的接口配置获取接口配置的sql逻辑,sql逻辑由单个或多个关联的数据表配置而成,由方法一至方法十一的监控方法获取到异常的数据表时,提取与异常的数据表相关联的接口,提取接口的报表,分析报表的受影响范围。
17、与现有技术相比,本发明具有以下有益效果:
18、本发明以数据的生命周期为时间线,并将多个系统进行有效的业务关联,提供了一套在不同阶段、不同方位的数据质量保障方法。本发明分别通过上线前阶段、上线中阶段和上线后阶段的数据监控,实现了事前预防、事中快速处理、事后补救的数据质量保障。
1.一种大数据场景下的数据质量保障方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种大数据场景下的数据质量保障方法,其特征在于,还包括:在步骤1之前获取数据仓库中所有的数据库信息和数据库中所有的数据表信息。
3.根据权利要求2所述的一种大数据场景下的数据质量保障方法,其特征在于,步骤1包括:步骤11、采用模型分析工具获取数据库的任一数据表,统计当前数据表所有字段的名称和类型;步骤12、循环当前数据表的所有字段,统计所有类型字段包括空值数量和空值率,字符类型字段的去重数量、字段最大值和最小值,以及数值类型字段的字段值域范围的字段信息;步骤13、统计当前数据表的数据量;步骤14、循环数据库的所有数据表,重复步骤11~步骤13,将步骤11~步骤13的统计结果写入一个excel文件,excel文件中每个工作表存储一个数据表的统计结果;步骤15、根据统计结果对数据库内的数据进行质量评估。
4.根据权利要求2所述的一种大数据场景下的数据质量保障方法,其特征在于,步骤2包括:步骤21、采用数据比对工具判断推送前数据仓库中源数据表与推送后的目标数据表的数据总量是否一致;步骤22、若源数据表与目标数据表的数据总量一致,在源数据表中随机选择n行数据与目标数据表对应的n行数据进行字段与字段的比对,n为正整数,若每个字段的对比均相同,表示推送验证成功。
5.根据权利要求2所述的一种大数据场景下的数据质量保障方法,其特征在于,步骤4采用以下监控方法进行监控分析:方法一、采用枚举值监控对数据仓库中原始数据层的数据表进行分析和修复;方法二、采用接口结果监控对报表接口生成的报表进行分析和修复;方法三、采用分层数据监控对数据仓库中原始数据层的数据抽取进行监控、对数据仓库中数据明细层的调度任务进行监控;方法四、采用增量监控对数据仓库中原始数据层的数据变更进行监控;方法五、采用全局事务表监控对事务表的误用进行监控;方法六至八、采用推送es/ck/mysql一致性监控对数据仓库中数据表推送前后数据总量的一致性进行监控;方法九、采用指定表监控对指定数据表中当天分区是否有数据进行监控;方法十、采用维度表唯一性监控对具有唯一性配置数据表的数据唯一性进行监控;方法十一、采用指标空值率监控对具有核心字段配置数据表的数据空值进行监控。
6.根据权利要求5所述的一种大数据场景下的数据质量保障方法,其特征在于,枚举值监控的方法包括:监控原始数据层的数据表的固定字段,将固定字段的枚举值写入数据库中,定时检查枚举值是否变化,当发生变化时触发告警,分析枚举值变化对数据表的影响并修复数据表。
7.根据权利要求5所述的一种大数据场景下的数据质量保障方法,其特征在于,接口结果监控的方法包括:在自动化平台建立一个测试计划,调用并测试自动化平台所有接口录入的自动化用例,对测试结果进行监控,当自动化用例未通过时触发告警,分析测试结果并修复报表。
8.根据权利要求7所述的一种大数据场景下的数据质量保障方法,其特征在于,步骤3中,采用接口结果监控且仅对自动化平台核心报表的接口录入的自动化用例进行测试,分析测试结果并修复核心报表。
9.根据权利要求8所述的一种大数据场景下的数据质量保障方法,其特征在于,步骤3中,若核心报表的接口未录入自动化用例,则采用步骤4的方法一至方法十一进行上线中阶段的核心数据的分析修复。
10.根据权利要求9所述的一种大数据场景下的数据质量保障方法,其特征在于,还包括:通过解析报表关联的接口配置获取接口配置的sql逻辑,sql逻辑由单个或多个关联的数据表配置而成,由方法一至方法十一的监控方法获取到异常的数据表时,提取与异常的数据表相关联的接口,提取接口的报表,分析报表的受影响范围。