更新时间:2025-07-24 GMT+08:00
大数据校验概述
迁移中心 MgC为多种大数据计算/存储引擎,如Hive、Hbase、Doris和MaxCompute等,提供了一致性校验方法。通过一致性校验,您可以更加放心地进行大数据迁移操作,确保数据的准确性和可靠性,从而避免了数据丢失或不一致的风险。
注意事项
- 创建的源端统计任务和目的端统计任务的统计方式必须保持一致。
- 数据量较大时,对数成功率99.5%属于正常误差范围内。
- HBase安全集群任务与非安全集群任务不能同时执行。HBase安全集群需要加载认证信息,非安全集群连接时需要清除安全集群的认证信息,因此不能同时执行。
- 当源端服务(包含但不限于Lindorm、HBase)因欠费被锁定时,虽然可以正常创建数据连接和校验任务,但由于服务锁定限制了数据访问和操作权限,最终会导致校验任务无法正常执行。在进行数据校验前,请确保源端服务未因欠费被锁定,以避免权限问题。如果服务被锁定,请及时补缴费用以解除锁定。确认服务恢复正常后,重新尝试执行数据校验任务。
- 在进行Hive 2.x与Hive 3.x版本间数据校验时,由于Hive 2.x版本在查询固定长度字符串类型char(N)数据时,如果实际数据长度不满足N长度,Hive会以空格补齐至N长度。而Hive 3.x版本在查询时不会进行这种补齐操作。这可能导致在不同版本间比较结果时出现差异。为了避免因版本差异导致的数据不一致问题,建议使用Beeline作为客户端工具进行作业对数。
- 在完成MRS到MRS集群数据迁移后,如果源端和目的端都使用YARN模式进行校验,需要分开执行校验任务,确保一个任务执行完成后才能执行另一个任务。
- 在进行对数任务时,不支持使用 MRS 3.3.0 及以上版本集群节点的ECS作为执行机,会导致对数任务执行失败。
约束与限制
- 创建EMR Delta Lake到MRS Delta Lake数据校验任务存在以下约束与限制:
- 源端EMR环境的Spark版本为3.3.1时,支持Delta Lake(有元数据)和Delta Lake(无元数据)的数据校验。
- 源端EMR环境的Spark版本为2.4.8时,仅支持Delta Lake(有元数据)的数据校验。
- Hbase校验不支持纯冷数据表。
- 校验任务不支持跨天执行,执行过程中如果跨0点将导致校验结果异常,请合理规划任务以避免跨天运行。
- 在进行ClickHouse数据校验时,如果源端阿里云的ClickHouse版本为21.8.15.7,目的端华为云的ClickHouse版本为23.3.2.37,由于这两个版本在处理IPv4和IPv6字段类型以及相关函数计算结果上存在差异,因此无法进行字段校验。
- 在执行Hive数据的日级别增量、小时级增量以及指定日期的校验时,如果分区字段为date类型,且分区值的格式不是标准的YYYY-MM-DD时,系统目前不支持对这种场景进行数据校验。
- HBase(包括云HBase、EMR-HBase、MRS-HBase、CT-HBase等)校验任务仅支持非安全集群(即源端和目的端均为非安全集群)的内容对数。
校验方式说明
- 全量校验:全量对比所有数据,适用于需要对比历史数据的场景。
- 日级增量校验:依靠元数据中的创建或更新时间,获取数据变化(增量)分区,再进行校验。支持单日或连续多日增量数据的统计,是最常用的校验方式。
- 小时级增量校验:依靠元数据中的创建或更新时间,获取数据变化(增量)分区,再进行校验。在24小时内自动进行多次校验,可以持续关注数据一致性变化情况。第二日0点自动停止任务。
- 指定日期校验:仅适用于分区为年月日格式的分区表,支持周期性指定一个或多个连续日期分区进行校验。分区格式不为年月日的表不会进行校验。
- 指定时间校验:用户可以选择一个时间段,校验该时间段内的数据。只能选择当前时间之前的时间段进行校验。
支持的源端、目的端组件
源端组件 |
目的端组件 |
---|---|
|
|
各组件支持的校验方式
组件 |
支持的校验方式 |
---|---|
Hive |
|
DLI |
|
MaxCompute |
|
Doris |
|
Hbase |
|
ClickHouse |
全量校验 |
阿里云云数据库ClickHouse |
全量校验 |
CloudTable(HBase) |
|
CloudTable(ClickHouse) |
全量校验 |
Delta |
|
Hudi |
|