【大数据专栏】如何验证数据质量验证
数据质量验证

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

-
准确性(Accuracy)数据是否真实、可靠,是否反映了现实世界的状态。
-
完整性(Completeness)数据是否缺失字段、记录或值。
-
一致性(Consistency)数据在不同系统或表之间是否保持一致。
-
唯一性(Uniqueness)是否存在重复记录或主键冲突。
-
及时性(Timeliness)数据是否按时更新,是否存在延迟。
-
有效性(Validity)数据是否符合预定义的格式、规则或业务逻辑。
数据质量验证方法
-
需求驱动验证法 根据业务需求定义数据质量标准和验证规则。
-
规则驱动验证法 通过设定校验规则(如正则表达式、范围限制、逻辑关系)进行自动验证。
-
统计分析法 使用统计方法(如分布分析、异常检测)识别数据质量问题。
-
样本抽查法 抽取部分数据进行人工或自动化验证,适用于大数据场景。
-
比对验证法 将数据与外部权威数据源或历史数据进行比对,验证准确性和一致性。
数据质量的验证工具
核心能力对比
| 维度 | Qualitis | Datavines | DataCleaner |
|---|---|---|---|
| 开源&许可证 | Apache‑2.0 | Apache‑2.0 | LGPL‑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:平台支持“通知/告警”;用户手册中规则层可启用告警并设阈值/波动策略,用于任务判定与上报(渠道在实际落地中通常与企业告警平台/调度对接)。
- Datavines:SLA 告警文档化支持 邮件 与 企业微信机器人(配置型 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”;多用户/多租户/统一告警/异常库等需要自建。
选型建议
-
已上 WeDataSphere / Linkis / DSS / Schedulis 的大数据平台
选 Qualitis,可最小化集成成本,沿用统一用户/资源/调度/算力治理体系;跨表/跨存储校验与异常数据保存也更易纳管。 -
云原生/混合 OLAP(MySQL+ClickHouse/Doris/Trino/Presto)、需要轻量可观测+DQ 的团队
选 Datavines,自带目录/概览与 SLA 告警,MySQL 起步即用,后续再通过 OpenAPI/脚本并入 DolphinScheduler。 -
临时/桌面式 Profiling+清洗、或把 DQ 作为 ETL 的一个环节而非平台
选 DataCleaner;如需“监控+SLA”,由外部调度和告警系统承接(邮件/IM/工单)。
更多推荐



所有评论(0)