用途
Data Validation Reporter 用于对数据表(DataFrame)进行质量校验,并生成交互式验证报告。它面向需要在数据管道中加入质量门禁的场景,帮助用户发现缺失数据、重复记录、类型错误等问题,并输出可存档的 HTML 报告。
主要能力
数据校验:支持检测空 DataFrame、验证必需字段是否存在、分析各列缺失数据百分比、识别重复记录、校验数据类型以及对数值字段的验证。
质量评分:采用 0-100 分制。基础分为 100 分;缺失必需字段扣 20 分;缺失数据比例超过 50% 扣 30 分,超过 20% 扣 15 分;重复记录每条扣 2 分(最多扣 20 分);类型问题每个扣 5 分(最多扣 15 分)。评分 ≥ 60 为 PASS,低于 60 为 FAIL。
交互式报告:生成 4 面板 Plotly 仪表盘,包括质量评分仪表(绿/黄/红配色)、缺失数据柱状图(按列显示缺失百分比)、类型问题柱状图以及汇总表。报告具有响应式设计、悬停提示、缩放平移功能,支持导出 PNG/SVG,基于 CDN 加载 Plotly。
配置管理:通过 YAML 文件定义必需字段、唯一字段、数值字段以及阈值(如最大缺失百分比、最低质量评分、最大重复数)。
使用方式
初始化验证器时传入 YAML 配置路径:validator = DataValidator(config_path="config/validation.yaml")。调用 validate_dataframe 方法并传入 DataFrame、必需字段和唯一字段进行验证。通过 generate_interactive_report 生成 HTML 报告,或通过 generate_report 生成文本摘要。
集成到项目时,复制验证器模板和配置模板,安装依赖 uv pip install pandas plotly pyyaml,然后在管道中调用。
适用场景
适用于数据加载后的质量检查、生产数据导入前的质量门禁、数据管道的验证环节,以及需要生成可归档报告的数据血缘场景。
限制
资料中未提供关于具体数据规模上限、并发能力或特定行业数据标准的支持说明。性能方面,在 10 万行数据集上验证约需 2.5 秒,报告生成约 1.2 秒,总耗时约 3.7 秒,内存约 150MB;测试最高支持 100 万行,验证呈线性扩展,报告生成对大据集采用采样优化。