文档首页/ 迁移中心 MGC/ 最佳实践/ 大数据迁移后数据校验/ DeltaLake(有元数据)迁移至MRS DeltaLake数据校验
更新时间:2025-02-13 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. 当源端与目的端的统计任务都执行完成后(实例状态为“已完成”),在校验结果页面可以查看并导出任务的执行结果,方法请参考查看并导出校验结果

相关文档