数据一致性校验功能简介

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

1. 功能概述

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

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

核心应用场景:

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

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

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

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

2. 校验模式详解

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

2.1 行数校验 (Row Count Validation)

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

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

  • 适用场景:

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

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

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

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

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

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

  • 适用场景:

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

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

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

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

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

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

  • 适用场景:

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

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

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

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

3. 支持的数据源

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

大数据产品

支持的校验模式

Hive

行数校验、聚合指标校验、内容一致性校验

MaxCompute

行数校验、聚合指标校验、内容一致性校验

ClickHouse

行数校验、聚合指标校验、内容一致性校验

Hologres

行数校验、聚合指标校验、内容一致性校验

Synapse

行数校验、聚合指标校验、内容一致性校验

Databricks

行数校验、聚合指标校验、内容一致性校验

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)

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

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

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