准备工作
- 创建一个数据库和表,您可以选择使用阿里云的RDS数据库,也可以在本地服务器上自建数据库。本案例以华东1区的RDS MySQL数据库为例,数据库表的名称为datav_test,字段及数据如下图所示。
- 登录阿里云Datahub控制台,选择华东1,单击创建Project,创建一个Datahub项目(本案例的项目名称为dts_test)。
数据同步
- 进入阿里云DTS控制台,单击左侧菜单栏中的数据同步。
- 单击创建同步作业,购买数据传输服务实例,配置如下图所示。
注意:
- **源实例**选择**MySQL**,**目标实例**选择**Datahub**。 - 源实例区域和目标实例区域以及同步作业实例区域需保持一致。
- 购买成功后,返回控制台,单击实例右侧的配置同步链路。
- 选择同步通道的源及目标实例,如下图所示,完成后单击授权白名单并进入下一步。
- 选择同步对象。选择需要同步的表,单击 > 图标按钮。
- 单击预检查并启动,启动预检查。如果预检查成功,系统会显示如下对话框。
- 单击关闭,返回数据同步页面,单击页面右上角的刷新,查看实例状态。此时正常情况下,实例状态应该显示为初始化中。
说明:初始化的时间依赖于同步表的数量大小。
- 当初始化完成后,同步链路即进入同步中的状态,此时源跟目标实例的同步链路才真正建立完成。单击页面右上角的刷新,查看实例的同步概况。
- 进入阿里云Datahub控制台,单击项目右侧的查看,进入Topic页面,可以看到已经同步完成的表的名称即为topic的名称。
- 单击topic右侧的查看,选择Schema,查看已经同步完成的表的结构。
数据采集
说明:由于Datahub同步的是增量数据,因此您必须在数据库中增加一条或多条数据,才能同步到Datahub中。此案例采用手动插入数据的方式,仅作为参考,在实际应用中,您表中的数据应该是实时写入的。
- 登录您的数据库,在表中插入一条数据,如下图所示。
- 回到阿里云Datahub控制台,单击topic右侧的查看,选择Shards。
- 单击某个shard右侧的数据抽样。
- 在Shard数据抽样页面,指定一个时间(该时间要小于等于最新数据时间,否则无法抽取数据),单击抽样,查看数据同步结果。
常见问题
- DTS 数据同步失败,如何处理?
可能原因:同步链路规格配置不合适导致。
解决方法:参考数据同步规格说明,选择合适的规格,重新创建同步作业。
- Datahub 中单击数据抽样,抽样数据为空,如何处理?
可能原因:
- 指定的时间大于最新数据时间。
- 数据库中不存在增量数据。
解决方法:
-
在进行数据抽样时,设置指定的时间小于等于最新数据时间,再次单击抽样,查看数据是否为空。
- 是,执行下一步。
- 否,问题解决。
-
在您的数据库中插入一条或多条数据,重新回到Datahub控制台,对数据进行抽样。
如果问题仍然无法解决,请在控制台上提交工单,或者直接联系阿里云技术支持工程师。
(本文作者为阿里云大数据产品文档工程师)