数据一致性校验功能简介

更新时间:
复制 MD 格式

本篇文档旨在全面介绍湖仓迁移中心(LHM)的“数据一致性校验”功能,通过定义行数校验、聚合指标校验、内容一致性校验三大核心模式,并对齐行业标准术语与产品功能,帮助您为数据迁移与生产提供全方位的质量保障。

1. 功能概述

数据一致性校验(Data Consistency Validation) 是保障数据在迁移、集成和生产等环节中准确、完整的核心手段。无论是从自建Hadoop迁移至MaxCompute,还是在不同大数据产品间进行数据同步,亦或是验证业务系统重构后的数据准确性,都离不开强大而灵活的数据校验能力。

湖仓迁移中心(LHM)提供的数据一致性校验服务,是一套覆盖了从基础完整性到深度内容比对的多层次、自动化的解决方案,旨在为用户提供贯穿数据全生命周期的质量保障。

核心应用场景:

  • 数据迁移验证: 确保迁移前后,源端与目标端数据完全一致。

  • 数据集成稽核: 定期检查数据同步任务的准确性。

  • 任务改造回归: 验证SQL或ETL任务重构后,产出结果与旧版一致。

  • 业务双跑比对: 在系统割接前,比对新旧两套系统的数据产出。

2. 校验模式详解

LHM提供了三种不同深度和粒度的校验模式,以满足不同场景下的校验需求。您可以根据业务对数据准确性的要求、资源开销和校验效率的平衡来选择合适的模式。

2.1 行数校验 (Row Count Validation)

  • 核心理念: 这是最基础、最高效的校验方式,通过比对源端和目标端表或分区的记录总数,快速判断是否存在数据行级别的缺失或重复。

  • 产品对应: 在LHM产品中,此功能对应『Count比对』模式。

  • 适用场景:

    • 作为所有校验任务的第一步,进行快速筛查。

    • 对数据内容不敏感,仅关心数据完整性的场景。

  • 深入了解: 具体配置方法,请参考数据校验任务创建及使用说明。

2.2 聚合指标校验 (Aggregate Metric Validation)

  • 核心理念: 对表中一个或多个关键字段进行统计学分析(Data Profiling),通过比对SUM、AVG、MAX、MIN、DISTINCT COUNT等聚合指标,来评估数据的整体分布和轮廓是否一致。它不比对每一行数据,但能有效发现数值偏差、数据倾斜等问题。

  • 产品对应: 在LHM产品中,此功能对应『指标比对』模式。LHM内置了多种预设模板(如NUM、LEN、MIX模式),并支持高度自定义的校验规则。

  • 适用场景:

    • 对核心业务指标(如交易总额、用户平均年龄)的正确性进行验证。

    • 在不扫描全表内容的情况下,快速评估数据质量。

  • 深入了解: 关于如何自定义校验规则,请参考自定义校验模板 ;任务创建流程请参考 数据校验任务创建及使用说明。

2.3 内容一致性校验 (Checksum Validation)

  • 核心理念: 这是一种高精度的内容级校验方法。它通过对每一行数据应用**校验和算法(Checksum Algorithm,如CRC32、MD5)**生成一个唯一的“指纹”,然后将全表的“指纹”进行聚合比对。如果最终结果一致,即可在极高概率下(99.999%+)确认两端数据内容完全相同。这是业界用于大规模数据进行全文比对的标准、高效方案。

  • 产品对应: 在LHM产品中,此功能对应『弱内容比对』模式。命名中的“弱”是相对于理论上逐字节比对而言,但在工程实践中,其可靠性已完全满足最严苛的数据一致性要求。

  • 适用场景:

    • 业务割接前的最终数据验证,要求数据100%准确无误。

    • 对金融、交易等核心关键表的完整性校验。

    • 常见表达为“全文校验”或“整表内容比对”即对应此场景。

  • 深入了解: 具体配置方法,请参考 数据校验任务创建及使用说明。

3. 支持的数据源

LHM的数据一致性校验功能支持在以下主流大数据产品之间进行比对:

大数据产品

支持的校验模式

Hive

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

MaxCompute

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

ClickHouse

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Hologres

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Synapse

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Databricks

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

StarRocks

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Doris

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Redshift

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

MySQL

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

Athena

行数校验 (Count比对)、聚合指标校验 (指标比对)、内容一致性校验 (弱内容比对)

4. 快速开始

执行一次完整的数据一致性校验,通常遵循以下步骤:

  1. 前置准备: 确保已安装Agent并完成网络连通,同时已在LHM中绑定用于执行计算的DataWorks资源组。

  2. 创建任务: 在“数据校验”模块,根据您的需求选择合适的校验模式(行数、聚合指标或内容一致性),并配置校验的源、目标数据源及表范围。

  3. 执行与分析: 运行校验任务,并查看生成的校验报告,报告会清晰地展示比对结果、差异详情,并支持对失败任务进行重跑。

更详细的操作指引,请查阅 数据校验任务创建及使用说明。

5. 名词解释

标准领域术语

常用/口语化表述

LHM 功能

核心解释

内容一致性校验 (Checksum Validation)

全文校验、全量内容校验、行级内容校验、内容比对、逐行校验、CRC/MD5校验

弱内容比对

旨在验证源与目标数据内容是否完全一致。它通过为每行数据计算校验和(Checksum)并进行聚合比对,是一种兼顾极高准确率和性能的工业级标准方案。

聚合指标校验 (Aggregate Metric Validation)

字段校验、统计值校验、数据剖析比对、抽样校验、列校验

指标比对

通过对比SUM、AVG、MAX、MIN等统计聚合函数的结果,来评估数据的整体轮廓和分布是否一致。它不直接比对内容,而是比对数据的统计特征。

行数校验 (Row Count Validation)

行数比对、记录数校验、查Count、表大小校验

Count比对

最基础的校验,通过对比COUNT(*)来验证源与目标表的记录总数是否相同,用于判断数据完整性。

数据一致性校验 (Data Consistency Validation)

数据校验、数据比对、数据核对、数据稽核、数据质量检查

数据校验

功能总称,涵盖了上述所有校验模式。其最终目标是确保数据在不同系统或阶段之间保持一致、准确和完整。

精确比对 (Exact Match Validation)

逐字节比对、完全内容比对、高精度校验

无直接对应,由“内容一致性校验”实现

即“逐字节完全比对”功能实现。LHM的内容一致性校验通过Checksum实现,可视为功能等价。

自定义校验规则 (Custom Validation Rules)

自定义指标、配置校验规则、选择字段校验

自定义校验模板

在进行聚合指标校验时,用户可以不使用内置模板,而是自行定义需要校验的字段和对应的统计函数。

分区范围筛选 (Partition Filtering)

分区校验、增量校验、按分区比对、时间范围校验

分区筛选条件、分区表达式

在创建校验任务时,用于指定只校验特定分区或一定时间范围内的数据,以实现增量或部分数据的精确校验。