通过DTS将RDS的数据实时同步至DataHub

准备工作

  • 创建一个数据库和表,您可以选择使用阿里云的RDS数据库,也可以在本地服务器上自建数据库。本案例以华东1区的RDS MySQL数据库为例,数据库表的名称为datav_test,字段及数据如下图所示。

通过DTS将RDS的数据实时同步至DataHub

  • 登录阿里云Datahub控制台,选择华东1,单击创建Project,创建一个Datahub项目(本案例的项目名称为dts_test)。

通过DTS将RDS的数据实时同步至DataHub

数据同步

  1. 进入阿里云DTS控制台,单击左侧菜单栏中的数据同步
  2. 单击创建同步作业,购买数据传输服务实例,配置如下图所示。

通过DTS将RDS的数据实时同步至DataHub

注意

 - **源实例**选择**MySQL**,**目标实例**选择**Datahub**。
 - 源实例区域和目标实例区域以及同步作业实例区域需保持一致。
  1. 购买成功后,返回控制台,单击实例右侧的配置同步链路
  2. 选择同步通道的源及目标实例,如下图所示,完成后单击授权白名单并进入下一步

通过DTS将RDS的数据实时同步至DataHub

  1. 选择同步对象。选择需要同步的表,单击 > 图标按钮。

通过DTS将RDS的数据实时同步至DataHub

  1. 单击预检查并启动,启动预检查。如果预检查成功,系统会显示如下对话框。

通过DTS将RDS的数据实时同步至DataHub

  1. 单击关闭,返回数据同步页面,单击页面右上角的刷新,查看实例状态。此时正常情况下,实例状态应该显示为初始化中

说明:初始化的时间依赖于同步表的数量大小。

  1. 当初始化完成后,同步链路即进入同步中的状态,此时源跟目标实例的同步链路才真正建立完成。单击页面右上角的刷新,查看实例的同步概况。

通过DTS将RDS的数据实时同步至DataHub

  1. 进入阿里云Datahub控制台,单击项目右侧的查看,进入Topic页面,可以看到已经同步完成的表的名称即为topic的名称。

通过DTS将RDS的数据实时同步至DataHub

  1. 单击topic右侧的查看,选择Schema,查看已经同步完成的表的结构。

通过DTS将RDS的数据实时同步至DataHub

数据采集

说明:由于Datahub同步的是增量数据,因此您必须在数据库中增加一条或多条数据,才能同步到Datahub中。此案例采用手动插入数据的方式,仅作为参考,在实际应用中,您表中的数据应该是实时写入的。

  1. 登录您的数据库,在表中插入一条数据,如下图所示。

通过DTS将RDS的数据实时同步至DataHub

  1. 回到阿里云Datahub控制台,单击topic右侧的查看,选择Shards
  2. 单击某个shard右侧的数据抽样
  3. Shard数据抽样页面,指定一个时间(该时间要小于等于最新数据时间,否则无法抽取数据),单击抽样,查看数据同步结果。

通过DTS将RDS的数据实时同步至DataHub

常见问题

  1. DTS 数据同步失败,如何处理?

可能原因:同步链路规格配置不合适导致。

解决方法:参考数据同步规格说明,选择合适的规格,重新创建同步作业。

  1. Datahub 中单击数据抽样,抽样数据为空,如何处理?

可能原因:

  • 指定的时间大于最新数据时间
  • 数据库中不存在增量数据。

解决方法:

  1. 在进行数据抽样时,设置指定的时间小于等于最新数据时间,再次单击抽样,查看数据是否为空。

    • 是,执行下一步。
    • 否,问题解决。
  2. 在您的数据库中插入一条或多条数据,重新回到Datahub控制台,对数据进行抽样。

    如果问题仍然无法解决,请在控制台上提交工单,或者直接联系阿里云技术支持工程师。
    

(本文作者为阿里云大数据产品文档工程师)

上一篇:阿里云ECS服务器内存型r5和内存型r6规格性能价格区别及如何选择?


下一篇:福建选择阿里云ECS服务器华南/华东/华北节点哪个更快更好?