更新时间:2024-10-18 GMT+08:00

源端为MRS Kafka,目的端为Hudi

该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员

操作步骤

  1. 源端配置。
    图1 配置源端参数
    Kafka配置
    • 源连接名称:所选数据连接的名称,不可更改。
    • 主题:输入主题,只能输入一个Topic。
    • 数据格式:选择数据格式,指示源端Kafka Topic中消息内容的格式。

      目前仅支持JSON格式,支持对消息内容以JSON的层级格式进行解析。

    • 消费组ID:由用户指定,标识当前实时处理集成作业的消费组。

      当迁移作业消费DMS Kafka集群某一Topic的消息后,在Kafka集群的“消费组管理”可以看到此处配置的消费组ID、在“消息查询”可以查到消费属性group.id。因为Kafka把消费消息的一方称为消费者(Consumer),多个消费者组成一个消费组(Consumer Group),消费组是Kafka提供的可扩展且具有容错性的消费者机制,建议配置消费组。

  1. 目标端配置。
    图2 配置目的端参数
    • 目标表的基本配置:
      • 目标表数据库:选择需要迁移的目标表数据库。
      • 分区设置:选择分区表或非分区表。
      • 目标表名称:选择需要迁移的目标表。
      • 数据存储路径:Hudi数据存储的基础路径,只对自动建表生效。每张目的端表会在基础路径下创建子目录,支持HDFS或OBS路径。
        • OBS格式:obs://{桶名}。
        • HDFS格式:/tmp。
      • 分区方式:分区设置选择分区表时显示该参数。选择分区方式,支持根据源端字段内容动态分区、根据迁移时间自动分区。
      • 分区字段值来源:分区设置选择分区表且分区方式选择根据源端字段内容动态分区时显示该参数。选择分区字段值来源,支持__key__、__value__、_topic__、__partition__、__offset__、_timestamp__类型。
      • 分区字段:分区设置选择分区表时显示该参数。选择目标表后自动填写,无须配置。
      • 分区字段类型:分区设置选择分区表时显示该参数。选择分区字段类型,支持枚举、时间格式。

        分区字段内的每一个值都将创建一个分区,最多创建1000个分区,如果超过此值将导致分区创建失败,实时任务异常。

      • Hudi表属性全局配置:单击“查看编辑”配置Hudi表属性全局配置。

        “Hudi全局配置”作用于所有Hudi表,可配置的Hudi配置项参考Hudi官网介绍

        “Hudi全局配置”优先级低于单表“表属性编辑”中的配置,存在相同配置项时会被覆盖。

      • 目标格式:分区字段类型选择时间时显示该参数。设置分区字段值格式。

        此处理会尝试将源端字段数据转换为标准时间戳数据,然后在按照指定格式写为目标端要求的格式字符串。如果无法完成转换,则视为一条脏数据。

        • yy:2位纪年,比如85,91,20。
        • yyyy:4位纪年,比如1985,1991,2020。
        • MM:2位月份,比如01,05,12。
        • dd:2位日期,比如02,15,26。
        • HH:2位小时,24小时制,比如00,03,17,21。
        • mm:2位分钟,比如01,18,36,59。
        • ss:2位秒,比如02,16,25,51。
    • 源表与目标表映射:支持用户根据实际需求选择同步主键,选择表字段作为目的端建表主键,该字段数据需要保证唯一性。

      目标字段赋值:实时同步默认同名映射,将源端字段写入目标端同名字段中,未映射成功的字段将无法同步。此时支持您为目标表新增字段并为字段赋值常量或变量。

      Hudi表必须设置“同步主键”,在源端为非主键表时,必须在字段映射阶段手动勾选主键。