password
URL
type
status
date
slug
summary
tags
category
icon
周起始
标签
是否汉化
1. 引言
在当今信息时代,数据已成为企业和组织进行决策的关键资产。随着大数据技术的不断进步和应用,如何确保数据的质量成为了实现信息价值最大化的前提和基础。
数据质量测试,即通过一系列科学的方法和技术手段,对数据的准确性、完整性、一致性、可靠性和时效性等质量维度进行评估和验证的过程。这不仅涉及到数据的采集、存储、计算和分析过程中的各个环节,还包括对数据本身的内在质量进行全面的审查和改进。
数据质量的高低直接影响着企业的决策质量和业务成效。因此,建立和实施一套高效、科学的数据质量测试体系至关重要。本文档旨在提供一套全面的大数据数据质量保障方法论,通过结合平台工具、数据分析、数据探查、统计法验证、主观感受等多种策略和方法,从而确保数据在整个生命周期中的质量得到有效管理和持续提升。
2. 全链路数据质量保障
数据质量验证是一个贯穿大数据应用全链路始终的过程,需要测试人员与数据工程师、分析师及业务团队紧密合作。
确保从数据的源头到终点的整个数据流程中,数据质量得到持续和系统性的管理和提升。从数据的生命周期的每个阶段都实施质量控制措施,从数据采集、存储、处理、分析到最终应用,每个环节都要确保数据的高质量。
2.1 需求阶段
在需求阶段,测试人员应与业务分析师一起工作,理解数据的业务目标和需求,明确数据质量的标准和需求,包括数据的准确性、完整性、一致性、唯一性等。
- 参与需求讨论会,确保对业务需求有深入理解。
- 帮助定义数据质量的验收标准。
- 撰写初步的数据质量测试计划。
2.2 分析阶段
在分析阶段,测试人员需要与数据分析师合作,对数据模型和数据处理流程进行评审,确保设计能够满足数据质量的要求。
- 参与数据模型和数据流程的评审。
- 确认数据源的质量和可靠性。
- 更新和完善数据质量测试计划。
2.3 探查阶段
在探查阶段,测试人员需要对数据进行初步的探索性测试,包括数据的初步探查和样本分析。
- 使用平台工具对数据样本进行探查。
- 与数据工程师合作,理解数据采集和处理的细节。
- 确定测试数据的抽样策略。
2.4 评审阶段
在评审阶段,测试人员需要对数据处理逻辑、转换规则和数据质量规则进行评审,确保它们能够满足业务需求和数据质量标准。
- 参与SQL代码和数据处理逻辑的评审。
- 验证数据质量的监控点和校验规则是否到位。
- 检查是否有潜在的性能问题。
2.5 动态测试验证阶段
在动态测试验证阶段,测试人员应该进行综合的数据质量测试,包括全面的测试用例执行、回归测试和性能测试。
- 执行详细的测试用例,验证数据的各个质量维度。
- 进行回归测试,确保新的变更没有破坏现有的数据质量。
- 执行性能测试,验证数据处理的效率和响应时间。
3. 大数据测试策略
3.1 数据测试环境选择
在大数据测试中,测试环境的选择对测试结果的准确性和可靠性至关重要,在整个大数据开发链路的不同环境中(dev\test\stg\prod),测试人员需要验证数据的一致性,保障数据质量。
- 在开发和测试环境中,重点验证数据处理逻辑和算法的正确性,同时进行错误和异常的测试。。
- 在预生产环境中,进行性能测试和安全性验证,以及预发布的全面测试,确保软件即将上线时的质量。
- 在生产环境中,验证在实际业务场景中数据的准确性和一致性,监控数据质量并及时响应任何质量问题。
数据质量测试应尽可能在生产(Prod)环境中进行,以确保测试结果的真实性和有效性。Prod环境可以提供实际的数据负载和业务场景,从而更准确地反映数据质量问题。
3.2 数据验证方式选择
数据验证的方式直接影响到测试的覆盖度和效率,大数据环境下常用的数据验证方式包括:
- 抽样验证:在数据量巨大时,通过抽样验证的方式来估算数据质量,这种方法适用于快速验证和初步检查。
- 全量验证:对于关键数据或在有足够资源的情况下,全量验证可以提供更全面的数据质量保障。
- 增量验证:在数据不断更新的环境中,对新增或变更的数据进行验证,以确保数据质量的连续性。
- 校验点验证:在数据处理流程的关键节点设置校验点,对数据进行验证。
3.3 测试数据准备
合理的测试数据是确保测试有效性的前提。测试数据的准备应考虑以下方面:
- 数据构造:构造数据应覆盖所有可能的业务场景,包括边界条件和异常情况,以确保测试的全面性。
- 使用线上数据:使用生产环境中的实际数据可以提高测试的真实性,但必须进行适当的脱敏处理以保护隐私。
- 数据多样性:测试数据应包括不同数据类型和结构,以验证系统对多样化数据的处理能力。
- 数据版本管理:测试数据应进行版本控制,确保测试的可追溯性和重现性。
在制定大数据测试策略时,必须综合考虑以上因素,并根据具体的业务需求、数据特点和资源限制来制定合适的测试方案,提升数据质量测试的效果。
4. 数据质量测试方法
4.1 SQL Review
AI agent
4.2 数据开发计算节点校验
利用DataSight数据开发模块提供的多种数据计算分析能力,实现对数据表校验、算法逻辑验证。
4.2.1 Spark任务校验
- 数据同步任务
BI抽取是借助将目标表数据同步至starrocks表的任务,要验证抽取数据正确性时,可通过spark任务进行验证
- 通过抽取任务获取对应的包含计算函数的抽取原表sql
- 设定对比字段,sql查询原表字段做为基础数据,同步成功目标表数据为待验证数据
- 执行by字段的行数据对比,输出对比日志和结果
- 数据探查准确性校验
通过Spark任务实现对指定数据表和分区数据的探查分析。
- 编写spark任务,实现数据表探查分析逻辑
- 指定数据表和分区,执行数据分析spark任务
- 数据地图-探查报告-新建相同表和分区的数据探查
- 数据分析,比对探查报告和spark任务分析结果
- 探查报告:
- spark分析结果
4.2.2 SQL校验
通过数据开发的SparkSQL或PrestoSQL计算节点进行数据的查询计算,对于获取到的数据结果,应用分支判断是否符合预期,符合预期的正常返回,结果异常时通过触发非法的SQL语句(1/0)使SQL执行失败,触发节点错误,达到监控报警和阻断下游执行的效果。
4.2.3 Python校验
通过数据开发Python计算节点进行数据质量校验
4.2.4 数据分析
当需要使用Spark SQL验证数据加工逻辑是否正确时,可使用datasight数据分析模块来进行数据验证,一般策略为使用Spark SQL自己实现目标数据,再与RD开发实现完成的目标表进行关联,抽样或全量验证数据的正确性。
- 注册自定义函数
一些复杂的数据计算,内置的函数无法完成计算,可能需要使用自定义函数,可使用下面的方法进行自定义函数注册,需要使用%spark解释器
- 执行数据计算SQL,将明细数据写到hive/iceberg表中。此步骤主要是为了做问题定位使用,通过明细数据比对分析问题原因。如果SQL中只查询hive表,用%sql解释器即可,如果有使用到iceberg表,需使用%soph.sql解释器。
- 再将明细数据聚合和RD的表进行关联比对
4.3 数据探查
在数据验证初期,可借助datasight数据探查工具了解数据的基本特征,识别一些常见的数据质量问题,例如空值、重复值等。此外,数据探查可以帮助我们对数据的分布作初步洞察,了解表中的数据范围。
- 发起探查
进入数据地图-探查管理页
输入数据表名称、探查分区,选择待探查的字段,点击确定,即可开始探查。
- 查看探查报告
任务执行结束后,可查看具体的探查结果
探查结果中,会针对每个字段,展示其null值个数及比例、枚举值及占比、数值分布范围,借助这些数据,可以帮助我们了解数据特征、初步评估质量,还能为后续数据验证确定策略和范围。
4.4 数据一致性检查
Aether
4.5 主观感受与统计法结合
在数据质量测试的初期,需要依据数据分析师和业务专家的主观感受对数据进行初步审查,识别显而易见的数据质量问题,如缺失值、异常值等。随后,应用统计学方法进行更深入的验证。这包括:
- 描述性统计分析:基础统计量(均值、中位数、众数、标准差等)的计算,用以理解数据的分布情况。
- 推断性统计分析:假设检验、置信区间等,用以推断数据的质量状况。
- 相关性分析:检查数据之间的相关性,评估数据的合理性。
5. 数据质量监控报警
在大数据应用上线后,建立有效的数据质量监控和报警机制是确保数据长期保持高质量状态的关键。这一过程旨在对数据流进行持续监视,以便在发现质量问题时能够立即采取行动。
5.1 定义数据质量指标
首先,需要定义一系列数据质量指标,这些指标应涵盖数据的完整性、准确性、一致性、及时性等方面:
- 完整性指标:监控缺失值的比例。
- 准确性指标:对比数据记录与已知的准确源或基准值。
- 一致性指标:确保日期格式、货币单位等在整个数据集中保持一致。
- 及时性指标:监控数据从产生到可用的时间延迟。
5.2 实施数据质量监控
利用数据质量监控工具对上述定义的数据质量指标进行检测,实时捕捉和处理数据质量问题。
当数据质量指标超出预设的阈值时,应立即触发报警。报警机制可以包括飞书、邮件和电话通知,以便相关人员可以及时响应。报警系统应提供足够的信息,帮助快速定位问题源头。
5.3 建立响应和纠正流程
一旦收到数据质量问题的报警,应立即启动预定的响应流程,包括:
- 快速响应:指定数据质量团队或责任人,负责调查和响应数据质量报警。
- 问题诊断:分析原因,确定是数据源问题、数据处理错误还是其他因素。
- 纠正措施:采取相应的纠正措施,如修正数据处理逻辑、回溯补数等。
- 预防措施:在问题解决后,分析根本原因,并采取预防措施防止类似问题再次发生。
5.4 持续优化监控策略
数据环境和业务需求会随时间而变化,因此需要定期回顾和调整数据质量指标、监控策略和报警阈值。通过持续优化,确保数据质量监控机制与当前的数据生态和业务目标保持一致。
5.5 整合数据质量仪表盘
开发数据质量仪表盘工具,将关键数据质量指标和报警状态可视化,实时了解数据质量的现状,并在必要时采取行动。
6. 数据质量回归测试
数据质量验证中的回归测试旨在确保数据质量的持续稳定,特别是在系统升级或数据迁移后。回归测试应包括:
- 历史数据的再验证:确保历史数据在新环境中仍保持质量。
- 数据流程的重复验证:验证数据处理流程在修改后是否仍然稳定可靠。
离开乏味的皮囊,自由的灵魂在路上
- Name: Alan Hsu
- Tag: 随感、技术、经验、旅行、推荐、生活、音乐、电影 etc.
- Email:xulanzhong521gmail.com
- Twitter:@AlanHsu521
- Telegram:@AlanHsu521
- WeChat: Alan_Hsu_521
- Github: https://github.com/xsoway/
- Blog: https://xmylog.com


- Author:Alan_Hsu
- URL:https://xmylog.com/article/articles_bigdataTest_datatest
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts