文档首页/ 迁移中心 MgC/ 最佳实践/ 大数据迁移后数据校验/ DeltaLake(有元数据)迁移至MRS DeltaLake数据校验
更新时间:2025-08-22 GMT+08:00
分享

DeltaLake(有元数据)迁移至MRS DeltaLake数据校验

本文主要介绍将自建DeltaLake环境上的数据迁移至华为云MRS DeltaLake之后,使用迁移中心 MgC进行数据一致性校验的步骤和方法。

DeltaLake存在元数据,可通过数据湖元数据同步方式进行数据采集。

准备工作

需要先在源端内网环境中安装用于配合数据校验的工具MgC Agent(原Edge)并登录,方法请参见安装Linux版本的MgC Agent

操作步骤

  1. 登录迁移中心管理控制台
  2. 单击左侧导航栏的“其他 > 配置管理”,进入配置管理页面。
  3. 在“项目管理”页签,单击“创建项目”,右侧弹出创建新项目窗口。

    图1 创建项目

  4. 项目类型选择“大数据迁移”,输入自定义项目名称,单击“创建”。

    图2 创建大数据迁移项目

  5. 创建项目完成后,参考连接迁移中心,将MgC Agent与云端MgC控制台建立连接。
  6. 连接成功后,需要在MgC Agent上分别添加源端“Delta Lake执行机”凭证和目的端“MRS Delta Lake执行机”凭证,类型选择“大数据-执行机”,认证方式选择“用户名/密码”。凭证的添加方法请参考添加资源凭证

  7. 在MgC控制台左侧导航栏选择“大数据校验”,进入大数据校验页面。在左侧导航栏的项目下拉列表中选择步骤4.创建的项目。
  8. 首次使用大数据校验功能时,需要先启用MgC Agent。单击“选择并启用迁移中心Agent”按钮,在弹窗的下拉列表中,选择与迁移中心连接成功的MgC Agent。

    在进行大数据校验时,请确保MgC Agent一直处于在线并启用状态。

  9. 功能入口区域,单击“大数据迁移准备”,进入大数据迁移准备页面。
  10. 选择“连接管理”,单击“创建连接”,右侧弹出新增连接窗口。

    图3 创建连接

  11. 连接类型选择“Delta Lake(有元数据)”,单击“下一步”。

  12. 根据表1,配置连接参数后,单击“测试连接”按钮,测试通过代表连接成功。

    表1 Delta Lake(有元数据)连接参数配置说明

    参数

    配置说明

    所属源

    选择源端。

    连接名称

    默认创建名称为“Delta-Lake-有元数据-4位随机数(字母和数字)”,也可以自定义名称。

    迁移中心Agent

    选择步骤5.与MgC建立连接的MgC Agent。

    执行机凭证

    选择步骤6.在MgC Agent侧添加的源端Delta Lake执行机凭证。

    执行机IP

    填写连接执行机的IP地址。

    执行机连接端口

    填写连接执行机的端口,默认为22端口。

    Spark客户端目录

    填写Spark客户端的bin目录的绝对路径

    环境变量地址

    请添加环境变量文件的绝对路径,示例:/opt/bigdata/client/bigdata_env, 如果该参数不为空,则环境变量文件在命令执行前将被自动“source”

    SQL文件地址

    填写用于存放执行作业时生成的SQL文件的文件夹地址。您需要拥有该文件夹的读写权限。

    须知:

    迁移完成后,您需要手动清理该路径下生成的文件夹,以释放存储空间。

  13. 测试连接通过后,单击“确认”按钮,创建云服务连接完成。
  14. 选择元数据管理,单击建数据湖元数据同步任务按钮,右侧弹出创建任务-数据湖元数据同步窗口。

    图4 创建数据湖元数据同步任务

  15. 根据表2,配置数据湖元数据同步任务参数后,单击“确认”按钮,创建数据湖元数据同步任务。

    表2 元数据同步任务参数配置说明

    参数

    配置说明

    任务名称

    默认创建名称为“数据湖元数据同步任务-4位随机数(字母和数字)”,也可以自定义名称。

    元数据连接

    选择步骤12.创建的元数据连接。

    数据库

    填写需要进行元数据同步的数据库名称。不填则代表同步全部数据库。

    并发线程数

    设置采集线程并发数。默认为3,1≤取值范围≤10。增加线程并发数,可以提高同步效率,但会占用更多源端连接和MgC Agent所安装主机的计算资源。

    自定义参数

    可以通过自定义参数设置同步的特定表或分区、过滤条件等。

    • 如果需要同步的是阿里云 EMR环境中的元数据,请添加如下参数:
      • 参数名:conf
      • 参数值:spark.sql.catalogImplementation=hive
    • 如果源端是阿里云 EMR Delta 2.2版本并且是通过Delta 2.3版本依赖访问时,请添加如下参数:
      • 参数名:master
      • 参数值:local
    • 如果源端是阿里云 EMR Delta 2.1.0版本并且配置了Spark 2.4.8来处理Delta Lake数据,请添加如下参数:
      • 参数名:mgc.delta.spark.version
      • 参数值:2
    • 如果源端是阿里云 EMR并且配置了Spark 3来处理Delta Lake数据,请添加如下参数:
      • 参数名:jars
      • 参数值:'/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-core_2.12-*.jar,/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-storage-*.jar'
        注意:

        参数值需要根据实际环境目录和Delta Lake 的版本进行替换。

  16. 任务管理页签,可以查看已创建的元数据同步任务列表以及参数配置信息。单击操作列的“更多>修改”,可以修改任务参数配置。

    图5 元数据同步任务管理

  17. 单击操作列的“运行任务”,即可触发一次任务执行。每执行一次任务,会生成一条任务实例。
  18. 单击操作列的“查看实例”,进入任务实例管理页签。可以查看该任务的运行记录,以及每条任务实例的状态和采集结果。当元数据同步任务的实例状态为“已完成”且采集结果有数值时,在库表清单页签可以查看采集到的元数据列表。

    图6 任务实例管理

  19. 大数据校验页面的功能入口区域,单击“表管理”,进入表管理页面的表组页签。
  20. 单击“新增表组”,弹出新增表组窗口。根据新增表组参数说明,配置参数后,单击“确认”按钮,创建表组。

    表3 新增表组参数说明

    参数

    说明

    表组名

    用户自定义

    元数据连接

    选择步骤12.创建的元数据连接。

    注意:

    表组中的所有表必须来源于同一个元数据来源。

    校验标准

    选择可以接受的数据差异最大值(即错误容忍度)。MgC提供了多种类型的对数标准可供选择,关于对数标准的详细说明,可以单击新增表组弹窗中的“查看更多”进行查看。

    说明(可选)

    您可以输入用于区分表组的说明。

  21. 表管理页面,选择库表清单页签,勾选要加入同一表组的数据表,单击列表上方的“表组管理 > 批量加入组”,在弹出的修改表组窗口中,选择要加入的表组,单击“确认”。

    如果需要新增数据表,可以通过导入数据表的方式添加,方法请参考导入数据表并加入表组

  22. 分别创建源端执行机连接目的端执行机连接,方法请参考创建执行机连接。执行机凭证分别选择步骤6.在MgC Agent侧添加的源端和目的端执行机凭证。
  23. 在MgC控制台,分别创建源端目的端Delta统计任务并执行,方法请参考创建统计任务并执行校验。需要注意任务配置中的表组,选择步骤20.创建的表组。

    • 任务类型请选择大数据组件中的“Delta”。

    • 统计方式按实际需求选择,各统计方式说明请参见校验方式说明

  24. 当源端与目的端的统计任务都执行完成后(实例状态为“已完成”),在校验结果页面可以查看并导出任务的执行结果,方法请参考查看并导出校验结果

相关文档