同步数据到RDS
准备工作
1.准备RDS实例和表结构使用RDS管控台新建RDS实例,可选择经典网络和VPC网络,同样,创建DataHub同步任务时,请选择正确的网络类型。DataHub同步时,会根据DataHub Field的数据类型同步到对应的RDS数据类型中,对应的类型映射关系如下所示:
|
DataHub |
RDS |
|
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.RDS白名单和内网地址用户使用DataHub同步功能时,需要在RDS管控台中配置IP白名单以便DataHub服务访问用户RDS服务,DataHub服务对应的IP白名单地址域参考概述同样,在创建DataHub同步任务时,用户需要填写RDS内网地址以确保网络连通性。
3.同步说明
-
目前DataHub仅支持将TUPLE数据同步到RDS服务中
-
DataHub中的TIMESTAMP默认按照
微秒(Microsecond)时间转换成RDS TIMESTAMP类型,请用户注意控制数据精度 -
为了避免并发读写同一个主键数据出现加锁竞争,请用户确保同一主键的数据写入到DataHub同一Shard中
-
使用VPC网络时,请确保DataHub Topic和RDS实例在同一个Region
创建同步任务
-
依次进入
项目列表/Project详情/Topic详情页面 -
点击右上角的
+ 同步按钮进行同步任务创建,弹出新建Connector对话框,需配置Host、Port(默认3306)、Database、Table、User、Password等连接信息,以及写入模式、导入字段、网络类型等同步参数。选择VPC网络时还需填写VPC ID和实例ID,设置起始时间和Timestamp Unit(默认MICROSECOND)后,单击创建。
下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。
-
HostRDS服务地址,请务必填写
内网地址以确保服务联通性 -
导入字段DataHub可以根据用户设置将部分column内容同步到RDS表中
-
写入模式包括IGNORE和OVERWRITE两种模式
-
IGNORE: 忽略重复数据,即
INSERT IGNORE INTO写入 -
OVERWRITE: 更新重复数据,即
REPLACE INTO写入
-
-
VpcId和实例ID当用户的RDS处于VPC网络时,需要填写对应的VpcId信息和RDS实例信息
同步示例
-
创建RDS实例和表结构在RDS管控台中创建RDS实例和数据表。示例中数据表名为wurao_tuple_test_001,包含3个字段:field1(varchar,长度255)、field2(bigint,长度20)和field3(double)。
-
建立DataHub Topic在DataHub中建立Topic,示例中为TUPLE类型topic,schema包含3个字段:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允许为空。
-
建立同步任务这里写入模式选择IGNORE,导入所有字段,即field1、field2、field3,网络类型选择CLASSIC,单击创建完成配置。
-
向DataHub中写入TUPLE数据,共4条数据。示例数据中field1为f_1和f_2,field2为1和2,field3为1和2,两组数据各重复一次。
-
确认同步数据这里采用MySQL客户端连接RDS服务查看数据,数据结果如下所示:
mysql> select * from xxx_e_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
准备工作
1.准备MySQL实例和表结构使用MySQL管控台新建MySQL实例
DataHub同步时,会根据DataHub Field的数据类型同步到对应的MySQL数据类型中,对应的类型映射关系如下所示:
|
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数据同步到MySQL服务中2)DataHub中的TIMESTAMP默认按照微秒(Microsecond)时间转换成MySQL TIMESTAMP类型,请用户注意控制数据精度3)为了避免并发读写同一个主键数据出现加锁竞争,请用户确保同一主键的数据写入到DataHub同一Shard中
创建同步任务
-
依次进入
项目列表/Project详情/Topic详情页面 -
点击右上角的
+ 同步按钮进行同步任务创建
弹出新建Connector对话框,需配置Host(MySQL内网地址)、Port(默认3306)、Database、Table、User、Password等连接信息,以及写入模式、导入字段、网络类型(VPC或经典网络)等同步参数。选择VPC网络时还需填写VPC ID和实例ID(可在RDS管控台查看)。配置完成后单击创建。
下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。
-
HostMySQL服务地址,请务必填写
内网地址以确保服务联通性 -
导入字段DataHub可以根据用户设置将部分column内容同步到MySQL表中
-
写入模式包括IGNORE和OVERWRITE两种模式
-
IGNORE: 忽略重复数据,即
INSERT IGNORE INTO写入 -
OVERWRITE: 更新重复数据,即
REPLACE INTO写入
-
同步示例
-
创建MySQL实例和表结构在MySQL管控台中创建MySQL实例和数据表
-
建立DataHub Topic在DataHub中建立Topic,示例中为TUPLE类型topic,schema如下所示。
示例中Topic名称为wurao_tuple_test_001,schema包含3个字段:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允许为空。
-
建立同步任务这里写入模式选择IGNORE,导入所有字段
-
向DataHub中写入TUPLE数据,共4条数据
示例数据中field1为f_1和f_2,field2为1和2,field3为1和2,两组数据各重复一次。
-
确认同步数据这里采用MySQL客户端连接MySQL服务查看数据,数据结果如下所示。
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)
同步数据到ADS3.0
准备工作
1.准备ADS实例和表结构使用ADS管控台新建ADS实例,可选择经典网络和VPC网络,同样,创建DataHub同步任务时,请选择正确的网络类型。DataHub同步时,会根据DataHub Field的数据类型同步到对应的ADS数据类型中,对应的类型映射关系如下所示:
|
DataHub |
ADS |
|
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.ADS白名单和内网地址用户使用DataHub同步功能时,需要在RDS管控台中配置IP白名单以便DataHub服务访问用户ADS服务,DataHub服务对应的IP白名单地址域参考 常见问题同样,在创建DataHub同步任务时,用户需要填写ADS内网地址以确保网络连通性。3.同步说明1)目前DataHub仅支持将TUPLE数据同步到ADS服务中2)DataHub中的TIMESTAMP默认按照微秒(Microsecond)时间转换成ADS TIMESTAMP类型,请用户注意控制数据精度3)为了避免并发读写同一个主键数据出现加锁竞争,请用户确保同一主键的数据写入到DataHub同一Shard中4)使用VPC网络时,请确保DataHub Topic和ADS实例在同一个Region
创建同步任务
-
依次进入
项目列表/Project详情/Topic详情页面 -
点击右上角的
+ 同步按钮进行同步任务创建,弹出新建Connector对话框,需配置Host、Port(默认3306)、Database、Table、User、Password等连接信息,以及写入模式、导入字段、网络类型等同步参数。选择VPC网络时还需填写VPC ID和实例ID。配置完成后单击创建。
下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。
-
HostRDS服务地址,请务必填写
内网地址以确保服务联通性 -
导入字段DataHub可以根据用户设置将部分column内容同步到RDS表中
-
写入模式包括IGNORE和OVERWRITE两种模式
-
IGNORE: 忽略重复数据,即
INSERT IGNORE INTO写入 -
OVERWRITE: 更新重复数据,即
REPLACE INTO写入
-
-
实例ID 获取方式
-
点击调试按钮,在调试页面选择服务地址,填入DBClusterId(AnalyticDB MySQL 数仓版集群 ID) ,发起调用
-
进入DescribeDBClusterAttribute接口文档页面,可看到接口说明和右侧的调试按钮。
-
除DBClusterId外,还需在RegionId中填入集群所在地域ID(如cn-beijing),然后单击发起调用。
-
-
调用结果页面VPCCloudInstanceId字段值即为要填写的实例ID值
-
调用成功后(状态码200),在返回的JSON结果中可通过搜索vpccloud关键字快速定位VPCCloudInstanceId字段。
-
同步示例
-
创建ADS实例和表结构
-
建立DataHub Topic在DataHub中建立Topic,示例中为TUPLE类型topic,schema包含3个字段:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允许为空。
-
建立同步任务这里写入模式选择IGNORE,导入所有字段,即导入field1、field2、field3,网络类型选择CLASSIC,单击创建完成配置。
-
向DataHub中写入TUPLE数据,共4条数据。示例数据中field1为f_1和f_2,field2为1和2,field3为1和2,两组数据各重复一次。
-
确认同步数据这里采用MySQL客户端连接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)