数据质量验证

数据质量验证的维度以及方法

六大维度

  1. 准确性(Accuracy)数据是否真实、可靠,是否反映了现实世界的状态。

  2. 完整性(Completeness)数据是否缺失字段、记录或值。

  3. 一致性(Consistency)数据在不同系统或表之间是否保持一致。

  4. 唯一性(Uniqueness)是否存在重复记录或主键冲突。

  5. 及时性(Timeliness)数据是否按时更新,是否存在延迟。

  6. 有效性(Validity)数据是否符合预定义的格式、规则或业务逻辑。

数据质量验证方法

  1. 需求驱动验证法 根据业务需求定义数据质量标准和验证规则。

  2. 规则驱动验证法 通过设定校验规则(如正则表达式、范围限制、逻辑关系)进行自动验证。

  3. 统计分析法 使用统计方法(如分布分析、异常检测)识别数据质量问题。

  4. 样本抽查法 抽取部分数据进行人工或自动化验证,适用于大数据场景。

  5. 比对验证法 将数据与外部权威数据源或历史数据进行比对,验证准确性和一致性。

数据质量的验证工具

WeBank Qualitis 

DataCleaner

介绍 | Datavines

核心能力对比

维度QualitisDatavinesDataCleaner
开源&许可证Apache‑2.0Apache‑2.0LGPL‑3.0
产品形态/定位平台化 DQ(WeDataSphere 生态内)

平台化“可观测性+DQ”,含元数据/目录、概览、SLA

工具包/桌面应用(Profiling/清洗/去重)

规则/模型单表/跨表/自定义,模板含空值/主键/行数/均值/总和等;阈值支持日/周/月波动固定值对比(内置告警判定)

内置 27 类检查;支持单表列检、单表自定义 SQL、跨表准确性、两表值比对等

组件化分析(Pattern Finder、Value Distribution、主键检查、去重/合并等)

数据源/连接器多异构数据源,跨存储校验(Hive/HDFS/MySQL/Kafka 等)

MySQL、PostgreSQL、Hive、ClickHouse、Doris、StarRocks、Presto/Trino 等文档化支持通过 Apache MetaModel/JDBC 等接入多源;近年增强含 Kafka(5.5.0)

执行/计算依赖 Linkis 提交质量模型任务(Spark/Hive 等)

Local(JDBC)Spark 2.4 引擎(插件化)

本地/CLI 执行;可与 Hadoop/Spark 结合运行作业(文档/版本支持)

调度/编排提供调度;在 WeDataSphere 可与 DSS/Schedulis 协同(Azkaban 增强版)

自身支持定时任务;亦可通过 OpenAPI/脚本 无缝集成 DolphinScheduler(官方集成文档)

通过 CLI/脚本接入你现有的调度(如 cron/DS/Airflow/Pentaho)

告警/通知平台支持“通知/告警”,规则层面可设阈值与波动策略(用户手册);渠道以生态对接为主

SLA 告警支持 邮件企业微信机器人(官方文档)

无平台级告警/工单;可自行把结果对接到外部告警体系
异常数据落地支持异常数据保存与定位(平台能力)

支持错误数据存储(MySQL/写回等,见文档)

支持清洗/导出/回写,非“异常库”中心化管理形态

元数据/数据目录(生态内由 DSS/Linkis 等承载)

内置数据目录/概览,定期采集元数据、概览报告与趋势洞察

不提供目录/元数据中心
权限/多租户金融级多租户、权限隔离、资源管控(平台说明)平台级用户/项目管理;架构无中心设计,Server 可水平扩展以单机/桌面与作业粒度为主
部署依赖典型依赖 Linkis;在 WeDataSphere 里最佳实践

最小仅需 MySQL 即可启动(可选 Spark),轻量易落地桌面/Java 环境即可;亦可命令行/服务化嵌入
活跃度/发布WeBank 维护,生态内多组件协同(DSS/Linkis/Schedulis)GitHub 活跃,文档与集成持续更新(官网/Repo)5.9.0(2024‑11‑16)最新版本,维护延续中(Releases)

重点能力深度解读

1)规则建模与阈值策略
  • Qualitis:提供单表/自定义/跨表三类技术规则;阈值支持日/周/月波动固定值四种判定,便于随时间窗管理波动与异常;规则页面可预览最终 SQL;适合批量任务的趋势化监控。
  • Datavines内置 27 类规则,覆盖空值、枚举、跨表准确性与两表比对;规则类型清晰,配合 SLA 可将检查结果直接触发告警。
  • DataCleaner:以“分析器/转换器/过滤器”组件构建流程,擅长 Pattern/Distribution/主键/去重/匹配合并 等数据质量作业;更像“工具箱”,灵活但不自带平台级 DQ 任务生命周期治理。
2)生态与调度集成
  • Qualitis:由 Linkis 统一对接 Spark/Hive/JDBC 等计算引擎,调度方面可与 DSS 及 **Schedulis(Azkaban 增强版)**协作,形成 WeDataSphere 一体化流水线。
  • Datavines:自身支持定时,也提供 OpenAPI+脚本模板,官方示例演示了与 DolphinScheduler 的流水线集成(作业执行/轮询状态/失败退出码)。
  • DataCleaner:通过 CLI/脚本可接入外部调度(如 Airflow/DS/cron/Pentaho Kettle),但“平台-作业-工单-告警”的闭环需自行拼装。
3)可观测性、目录与异常数据
  • Datavines具备数据目录/元数据采集数据概览报告行数趋势/分布等,可形成数据资产“看板”,同时提供错误数据存储,便于后续修复/剔除。
  • Qualitis提供异常数据保存与定位质量报表,在 WeDataSphere 里可与其他治理组件打通。
  • DataCleaner侧重“分析/清洗任务”与结果输出,不承担平台级的异常库与资产目录职能。
4)告警与通知
  • Qualitis:平台支持“通知/告警”;用户手册中规则层可启用告警并设阈值/波动策略,用于任务判定与上报(渠道在实际落地中通常与企业告警平台/调度对接)。
  • DatavinesSLA 告警文档化支持 邮件 与 企业微信机器人(配置型 Webhook);通知模块也以插件形式存在。
  • DataCleaner:无内建 SLA/通道,可将结果写库/写文件后由外部告警系统接管。

适用场景与优缺点

Qualitis

  • 适用:Hadoop/Hive/Spark 为主的大数据平台;已采用 WeDataSphere / Linkis / DSS 的组织;需多租户/权限隔离与批调度协同的金融级治理。
  • 优势:生态一体化、跨存储校验、异常数据保存、质量报表、权限与资源管控。
  • 注意:对 Linkis 依赖使部署/升级路径更偏平台化;更适合批式与治理闭环,而非“轻量即装即用”。

Datavines

  • 适用:混合型数仓/云原生 OLAP(MySQL/ClickHouse/Doris/StarRocks/Trino/Presto…),希望快速接入 DQ+目录+概览+SLA,且易与 DolphinScheduler/现有编排对接。
  • 优势轻依赖(最小仅 MySQL)、规则内置、可观测性增强(目录/概览/趋势)、SLA 告警(邮件/企业微信)、错误数据存储、插件化扩展。
  • 注意:Spark 引擎当前标注为 2.4(如需统一到新版本需评估)、告警渠道相对“按需增量”方式,需按文档配置或二开扩展。

DataCleaner

  • 适用:一次性数据体检/剖析、数据清洗/去重、在现有 ETL/流水线中嵌入 Profiling/Cleansing 步骤;也适合数据治理初期快速摸底。
  • 优势:组件化能力强(Pattern、Distribution、匹配/合并…),对多源/流式(Kafka)有连接增强;2024‑11 仍有新版本。
  • 注意:并非“平台级 DQ 监控/SLA”;多用户/多租户/统一告警/异常库等需要自建。

选型建议

  1. 已上 WeDataSphere / Linkis / DSS / Schedulis 的大数据平台
    选 Qualitis,可最小化集成成本,沿用统一用户/资源/调度/算力治理体系;跨表/跨存储校验与异常数据保存也更易纳管。

  2. 云原生/混合 OLAP(MySQL+ClickHouse/Doris/Trino/Presto)、需要轻量可观测+DQ 的团队
    选 Datavines,自带目录/概览与 SLA 告警,MySQL 起步即用,后续再通过 OpenAPI/脚本并入 DolphinScheduler

  3. 临时/桌面式 Profiling+清洗、或把 DQ 作为 ETL 的一个环节而非平台
    选 DataCleaner;如需“监控+SLA”,由外部调度和告警系统承接(邮件/IM/工单)。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐