数据传输服务DTS提供的数据加工功能ETL(Extract Transform Load),实现了流式数据的清洗和转换处理,能够准确、高效地提供您需要的数据。本文介绍如何通过DAG模式(可视化拖拽方式)配置ETL任务。

背景信息

说明 ETL功能在公测阶段,支持免费体验。如在体验过程中遇到问题,请加钉钉群沟通(钉钉群号:32326646)。
  • 在配置ETL任务前,请您了解以下信息:
    • 输入/维表指ETL的源库。
    • 输出指经过ETL处理后写入的目标库。
  • 数据库传输服务DTS为数据同步过程提供了流式的ETL功能,您可以在源库和目标库之间添加各种转换组件,实现丰富的转换操作,并将处理后的数据实时写入目标库。例如将两张流表做JOIN操作后形成一张大表,写入目标库;或者给源表新增一个字段,并为该字段配置函数进行赋值,源表该字段经过赋值转换后写入目标库。

前提条件

  • 当前仅支持在华东1(杭州)、华北2(北京)和华北3(张家口)创建ETL任务。
  • 当前源库支持自建MySQL、RDS MySQL、PolarDB MySQL,目标库支持为自建MySQL、RDS MySQL、云原生数据仓库AnalyticDB MySQL版。
  • 由于ETL功能暂不支持结构迁移,所以您需要根据转换条件在目标库侧完成对应表结构的创建。例如A表中包含字段1、字段2和字段3,B表中包含字段2、字段3和字段4,对两张表通过做JOIN操作后,需要输出字段2和字段3,则需要在目标库侧创建做JOIN操作后的C表,C表中包含字段2和字段3。
  • 由于ETL功能暂不支持全量数据同步,所以您只能对增量数据进行实时转换。

注意事项

  • 源库和目标库不能使用同一个连接模板。您需要为源库和目标库分别新建连接模板,新建方法,请参见新建连接模板。或者在DMS中录入源实例和目标实例。录入方式,请参见实例管理
  • 所有的源库和目标库属于同一地域。
  • 所有流表均来源于同一实例。
  • 数据库的库名和表名唯一。
  • 转换组件存在如下限制:
    • 表JOIN:仅支持两个表之间做JOIN操作。
    • 字段计算器表记录过滤:仅支持单个表结构。

配置流程

配置ETL任务流程
您可以选择需要的源库(支持多个源库),转换组件和需要写入的目标库即可实现ETL处理。创建ETL任务具体如下:
任务 说明 参考文档
配置源库信息 您可以选择输入/维表区域中的一个或多个数据类型,并需要为每个源库依次配置以下信息:
说明 您可以多次选择同一类型的数据类型。
  1. 配置节点信息。
  2. 配置字段信息。
  3. 可选:如果您选择的库表类型为流表,您还需配置时间属性。
配置数据源信息
配置转换组件 您可以选择转换区域中的一个或多个转换组件,并需要为每种转换组件依次配置对应信息:
说明 您可以多次选择同一转换组件。
  • 表JOIN
    1. 配置节点信息。
    2. 配置字段信息。
  • 字段计算器
    1. 配置转换名称。
    2. 配置计算器。
  • 表记录过滤
    1. 配置转换名称。
    2. 配置Where条件。
配置转换组件
配置目标库信息 您可以在输出区域中选择一个目标库类型,并为该目标库依次配置以下信息:
  1. 配置节点信息。
  2. 配置字段映射信息。
配置目标库信息

操作步骤

  1. 进入ETL任务的列表页面
    说明

    您也可以通过如下步骤,在DMS数据管理服务的控制台上配置ETL任务。

    • 登录DMS数据管理服务
    • 在顶部菜单栏中,单击传输与加工(DTS) > 数据集成 > 数据加工
    • 单击流式加工页签。
    • 单击左上角的新增数据流,在新增数据流对话框中,您需在数据流名称配置ETL任务名称,选择加工方式流式加工,选择开发方式DAG开发
    • 单击确认
  2. 在页面右上角选择目标任务所在地域。
    说明 当前仅支持在华东1(杭州)、华北2(北京)和华北3(张家口)创建ETL任务,请您根据需求选择其中一种。
  3. 在左侧导航栏中,单击ETL
  4. ETL界面,单击创建任务(后付费)
  5. 创建任务页面,根据页面信息完成ETL任务配置。
    1. 创建ETL任务。
      说明
      • 下文以输入/维表MySQL转换字段计算器输出MySQL为例进行介绍。
      • 源库可以选择一个或多个,同一类型的源库可以选择多次。
      • 转换组件可以选择一个或多个,同一转换组件可以选择多次。
      • 目标库只能选择一个。
      1. 在页面左侧的输入/维表区域选择MySQL,并将其拖拽至页面右侧空白区域。
      2. 单击页面右侧区域的MySQL,在输入/维表 MySQL页面,依次配置节点信息、字段信息和时间属性。配置方法,请参见配置数据源信息
      3. 在页面左侧的转换区域选择字段计算器,并将其拖拽至页面右侧空白区域。
      4. 将鼠标指针移动至源库MySQL上,单击圆点拉出连接线,连接源库MySQL字段转换器连接数据源与字段计算器
      5. 转换 字段计算器页面,依次配置节点信息和字段信息。配置方法,请参见配置转换组件
      6. 在页面左侧的输出区域选择MySQL,并将其拖拽至页面右侧空白区域。
      7. 将鼠标指针移动至字段转换器上,并单击圆点拉出连接线,连接字段转换器和目标库MySQL连接字段转换器与目标库
      8. 输出 MySQL页面,依次配置节点信息和字段映射信息。配置方法,请参见配置目标库信息
      9. 配置完成后,根据需求,单击保存并返回列表生成Flink SQL校验下一步保存任务并预检查中的任意一种。
        • 保存并返回列表:可以将您创建完成的ETL任务快速生成模板,提升配置效率。
        • 生成Flink SQL校验:在页面上方提示Flink SQL校验完成,说明Flink SQL生成成功。如果校验失败,您可以单击生成Flink SQL校验右侧的查看ETL校验详情,并根据提示信息修复后,重新进行生成Flink SQL校验。
        • 下一步保存任务并预检查:系统会先进行生成Flink SQL校验,当生成Flink SQL校验成功后,才能开始预检查。您可以单击查看ETL校验详情查看ETL校验详情。
    2. Flink SQL校验完成后,进行预检查。当预检查通过后,DTS才能开始ETL任务。如果预检查失败,请单击检查失败项后的查看详情,根据提示信息修复后,重新进行预检查。
    3. 预检查完成后,单击页面下方的下一步购买
    4. 购买页面,选择链路规格计算资源,并勾选数据传输(按量付费)服务条款公测协议条款
    5. 单击购买并启动,ETL任务正式开始。