本篇文档旨在全面介绍湖仓迁移中心(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 | 行数校验、聚合指标校验、内容一致性校验 |
MaxCompute | 行数校验、聚合指标校验、内容一致性校验 |
ClickHouse | 行数校验、聚合指标校验、内容一致性校验 |
Hologres | 行数校验、聚合指标校验、内容一致性校验 |
Synapse | 行数校验、聚合指标校验、内容一致性校验 |
Databricks | 行数校验、聚合指标校验、内容一致性校验 |
4. 快速开始
执行一次完整的数据一致性校验,通常遵循以下步骤:
前置准备: 确保已安装Agent并完成网络连通,同时已在LHM中绑定用于执行计算的DataWorks资源组。
创建任务: 在“数据校验”模块,根据您的需求选择合适的校验模式(行数、聚合指标或内容一致性),并配置校验的源、目标数据源及表范围。
执行与分析: 运行校验任务,并查看生成的校验报告,报告会清晰地展示比对结果、差异详情,并支持对失败任务进行重跑。
更详细的操作指引,请查阅 数据校验任务创建及使用说明。
5. 名词解释
标准领域术语 | 常用/口语化表述 | LHM 功能 | 核心解释 |
内容一致性校验 (Checksum Validation) | 全文校验、全量内容校验、行级内容校验、内容比对、逐行校验、CRC/MD5校验 | 弱内容比对 | 旨在验证源与目标数据内容是否完全一致。它通过为每行数据计算校验和(Checksum)并进行聚合比对,是一种兼顾极高准确率和性能的工业级标准方案。 |
聚合指标校验 (Aggregate Metric Validation) | 字段校验、统计值校验、数据剖析比对、抽样校验、列校验 | 指标比对 | 通过对比SUM、AVG、MAX、MIN等统计聚合函数的结果,来评估数据的整体轮廓和分布是否一致。它不直接比对内容,而是比对数据的统计特征。 |
行数校验 (Row Count Validation) | 行数比对、记录数校验、查Count、表大小校验 | Count比对 | 最基础的校验,通过对比 |
数据一致性校验 (Data Consistency Validation) | 数据校验、数据比对、数据核对、数据稽核、数据质量检查 | 数据校验 | 功能总称,涵盖了上述所有校验模式。其最终目标是确保数据在不同系统或阶段之间保持一致、准确和完整。 |
精确比对 (Exact Match Validation) | 逐字节比对、完全内容比对、高精度校验 | 无直接对应,由“内容一致性校验”实现 | 即“逐字节完全比对”功能实现。LHM的内容一致性校验通过Checksum实现,可视为功能等价。 |
自定义校验规则 (Custom Validation Rules) | 自定义指标、配置校验规则、选择字段校验 | 自定义校验模板 | 在进行聚合指标校验时,用户可以不使用内置模板,而是自行定义需要校验的字段和对应的统计函数。 |
分区范围筛选 (Partition Filtering) | 分区校验、增量校验、按分区比对、时间范围校验 | 分区筛选条件、分区表达式 | 在创建校验任务时,用于指定只校验特定分区或一定时间范围内的数据,以实现增量或部分数据的精确校验。 |