数据传输服务DTS提供的ETL(Extract Transform Load)功能,实现了数据库中数据的清洗和转换处理,能够准确、高效地提供您需要的数据。本文介绍配置ETL任务的流程和具体步骤,帮助您快速完成ETL任务的配置。

背景信息

  • 在配置ETL任务前,请您了解以下信息:
    • 输入/纬表指ETL的数据源。
    • 输出指经过ETL处理后写入的目标库。
  • 数据库传输服务DTS为数据同步过程提供了流式的ETL功能,您可以在数据源和目标库之间添加各种转换组件,实现丰富的转换操作,并将处理后的数据实时写入目标库。例如将两张流表做JOIN操作后形成一张大表,写入目标库;或者给源表新增一个字段,并为该字段配置函数进行赋值,源表该字段经过赋值转换后写入目标库。

前提条件

  • ETL功能正在新版控制台公测中,公测期间,您需要点击申请链接开通ETL功能。
  • 当前仅支持在华东1(杭州)和华北2(北京)创建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功能暂不支持全量数据同步,所以您只能对增量数据进行实时转换。

注意事项

  • 数据源和目标库不能使用同一个连接模板,您需要为数据源和目标库分别新建连接模板,新建方法,请参见新建连接模板
  • 所有的数据源和目标库属于同一地域。
  • 所有流表均来源于同一实例。
  • 数据库的库名和表名唯一。

配置流程

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

费用说明

公测期间,每个用户可以免费创建两个ETL实例,且每个实例在公测期间均免费使用。
注意 公测结束后,继续运行的实例将开始收费。公测结束时间将会提前以公告、短信等方式进行通知,请您关注。

操作步骤

  1. 登录数据传输控制台
  2. 在页面右上角选择目标任务所在地域。
    说明 当前仅支持在华东1(杭州)和华北2(北京)创建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任务正式开始。