配置流程

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

背景信息

说明

此功能即将下线,仅部分用户可以免费体验,未曾使用过该功能的用户已无法体验,建议您在同步或迁移实例中配置ETL任务。更多信息,请参见在DTS迁移或同步任务中配置ETL如在体验过程中遇到问题,请加钉钉群沟通(钉钉群号:32326646)。

  • 在配置ETL任务前,请您了解以下信息:

    • 输入/维表指ETL的源库。

    • 输出指经过ETL处理后写入的目标库。

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

前提条件

  • 当前仅支持在华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华南1(深圳)、华南3(广州)和中国香港创建ETL任务。

  • 当前源库支持MySQLPolarDB MySQLOraclePostgreSQLDB2 iSeries(AS/400)DB2 LUWDRDS(PolarDB-X 1.0)、PolarDB PostgreSQLMariaDBPolarDB OracleSQLServerPolarDB-X 2.0

  • 当前目标库支持MySQLPolarDB MySQLOracleAnalyticDB MySQL 3.0PolarDB PostgreSQLPostgreSQLDB2 LUWDB2 iSeries(AS/400)AnalyticDB PostgreSQLSQLServerMariaDBDRDS(PolarDB-X 1.0)、PolarDB OracleTablestore

  • 由于ETL功能暂不支持结构迁移,所以您需要根据转换条件在目标库侧完成对应表结构的创建。例如A表中包含字段1、字段2和字段3,B表中包含字段2、字段3和字段4,对两张表通过做JOIN操作后,需要输出字段2和字段3,则需要在目标库侧创建做JOIN操作后的C表,C表中包含字段2和字段3。

  • 由于ETL功能暂不支持全量数据同步,所以您只能对增量数据进行实时转换。

注意事项

  • 所有的源库和目标库属于同一地域。

  • 所有流表均来源于同一实例。

  • 数据库的库名和表名唯一。

  • 转换组件存在如下限制:

    • 表JOIN:仅支持两个表之间做JOIN操作。

    • 字段计算器表记录过滤:仅支持单个表结构。

配置流程

配置ETL任务流程

您可以选择需要的源库(支持多个源库),转换组件和需要写入的目标库即可实现ETL处理。创建ETL任务具体如下:

任务

说明

参考文档

配置源库信息

您可以选择输入/维表节点的一个或多个数据类型,并需要为每个源库依次配置以下信息:

说明

您可以多次选择同一类型的数据类型。

  1. 配置节点信息。

  2. 配置字段信息。

  3. 可选:如果您选择的库表类型为流表,您还需配置时间属性。

配置源库信息

配置转换组件

您可以选择转换节点的一个或多个转换组件,并需要为每种转换组件依次配置对应信息:

说明

您可以多次选择同一转换组件。

  • 表JOIN

    1. 配置节点信息。

    2. 配置字段信息。

  • 字段计算器

    1. 配置转换名称。

    2. 配置计算器。

  • 表记录过滤

    1. 配置转换名称。

    2. 配置Where条件。

配置转换组件

配置目标库信息

您可以选择输出节点的一个目标库类型,并为该目标库依次配置以下信息:

  1. 配置节点信息。

  2. 配置字段映射信息。

配置目标库信息

操作步骤

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

    1. 登录数据传输服务DTS控制台

    2. 在左侧导航栏,单击ETL

  2. 单击左上角的新增数据流,在新增数据流对话框中,您需在数据流名称配置ETL任务名称,选择开发方式DAG

  3. 单击确认

  4. 根据页面信息完成ETL任务配置。

    1. 创建ETL任务。

      说明
      • 下文以输入/维表 MySQL字段计算器输出 MySQL节点为例进行介绍。

      • 源库可以选择一个或多个,同一类型的源库可以选择多次。

      • 转换组件可以选择一个或多个,同一转换组件可以选择多次。

      • 目标库只能选择一个。

      1. 在页面左侧,将输入/维表 MySQL节点拖拽至页面右侧画布的空白区域。

      2. 单击画布区域的输入/维表 MySQL-1,依次配置节点信息、字段信息和时间属性。配置方法请参见配置源库信息

      3. 在页面左侧,将字段计算器节点拖拽至页面右侧画布的空白区域。

      4. 将鼠标指针移动至源库输入/维表 MySQL-1上,单击圆点拉出连接线,连接源库输入/维表 MySQL -1字段计算器-1字段计算器new

      5. 单击画布区域的字段计算器-1,依次配置节点信息和字段信息。配置方法请参见配置转换组件

      6. 在页面左侧,将输出 MySQL-1节点拖拽至页面右侧画布的空白区域。

      7. 将鼠标指针移动至字段转换器-1上,并单击圆点拉出连接线,连接字段转换器-1和目标库输出 MySQL-1连接目标库

      8. 输出 MySQL-1页面,依次配置节点信息和字段映射信息。配置方法请参见配置目标库信息

      9. 配置完成后,根据需求单击生成Flink SQL校验发布

        • 生成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任务正式开始。

      您可以返回ETL任务的列表页面,查看ETL任务的任务状态