创建同步ADS

更新时间:
复制 MD 格式

准备工作

1.准备ADS实例和表结构使用ADS管控台新建ADS集群DataHub同步时,会根据DataHub Field的数据类型同步到对应的ADS数据类型中,对应的类型映射关系如下所示:

DataHub

MySQL

TINYINT

TINYINT

SMALLINT

SMALLINT

INTEGER

INT

BIGINT

BIGINT

STRING

VARCHAR

BOOLEAN

BOOLEAN / TINYINT

FLOAT

FLOAT

DOUBLE

DOUBLE

TIMESTAMP

TIMESTAMP / BIGINT

DECIMAL

DECIMAL

DataHub 中的 TINYINT , SMALLINT , INTEGER , FLOAT 类型从 java sdk 2.16.1-public 开始支持。2.同步说明1)目前DataHub仅支持将TUPLE数据同步到ADS服务中2)ReplaceIntoIgnoreInto: ReplaceInto模式下,会使用replace into语句将数据插入,反之,IgnoreInto会使用insert方式插入数据库(replace into将根据主键覆盖记录,ignore into将忽略冲突进行写入)3)数据同步的时效性正常情况为秒级,即数据写入DataHub中后若干秒内将会同步到ADS,网络异常的情况可能造成重复数据Update,但是保证数据At least once语义。4)ADS的写入性能直接影响同步的性能,若ADS实例性能过低,可能导致DataHub同步较慢,数据堆积,严重情况可能因为同步延迟超过生命周期从而丢失数据。

创建同步任务

  1. 依次进入项目列表/Project详情/Topic详情页面

  2. 点击右上角的 + 同步按钮进行同步任务创建

新建Connector对话框中,配置以下参数:

参数

说明

Host

ADS Host 地址,请务必填写内网地址以确保网络联通性

Port

默认为 3306

Database

ADS Database 名称

Table

ADS Table 名称

User

访问 ADS 的用户名

Password

访问 ADS 的用户密码

写入模式

选择 IGNORE(忽略重复数据)或 OVERWRITE(更新重复数据)

导入字段

选择需要同步的字段

起始时间

选择数据同步的起始时间

配置完成后单击创建

下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。

  1. HostADS服务地址,请务必填写内网地址以确保服务联通性

  2. 导入字段DataHub可以根据用户设置将部分column内容同步到ADS

  3. 写入模式包括IGNOREOVERWRITE两种模式

    • IGNORE: 忽略重复数据,即INSERT IGNORE INTO写入

    • OVERWRITE: 更新重复数据,即REPLACE INTO写入

同步示例

  1. 创建ADS实例和表结构在ADS管控台中创建ADS实例和数据表

  2. 建立DataHub TopicDataHub中建立Topic,示例中为TUPLE类型topic,schema如下所示:

Topic 的 Schema 定义包含 3 个字段:

字段名

类型

是否允许为空

field1

STRING

field2

BIGINT

field3

DOUBLE

3 建立同步任务这里写入模式选择IGNORE,导入所有字段

4 向DataHub中写入TUPLE数据,数据内容如下所示,共 4 条数据

Sequence

field1

field2

field3

47502

f_1

1

1

47503

f_2

2

2

47504

f_1

1

1

47505

f_2

2

2

5 . 确认同步数据客户端连接ADS服务查看数据,数据结果如下所示:

mysql> select * from  wurao_tuple_test_001;
+--------+--------+--------+
| field1 | field2 | field3 |
+--------+--------+--------+
| f_1    |      1 |   1.00 |
| f_2    |      2 |   2.00 |
| f_1    |      1 |   1.00 |
| f_2    |      2 |   2.00 |
+--------+--------+--------+
4 rows in set (0.00 sec)

mysql>

同步ADS3.0

同步ADS3.0请参考:创建同步RDS/MySQL/ADS3.0