准备工作
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)ReplaceInto与IgnoreInto: ReplaceInto模式下,会使用replace into语句将数据插入,反之,IgnoreInto会使用insert方式插入数据库(replace into将根据主键覆盖记录,ignore into将忽略冲突进行写入)3)数据同步的时效性正常情况为秒级,即数据写入DataHub中后若干秒内将会同步到ADS,网络异常的情况可能造成重复数据Update,但是保证数据At least once语义。4)ADS的写入性能直接影响同步的性能,若ADS实例性能过低,可能导致DataHub同步较慢,数据堆积,严重情况可能因为同步延迟超过生命周期从而丢失数据。
创建同步任务
依次进入
项目列表/Project详情/Topic详情
页面点击右上角的
+ 同步
按钮进行同步任务创建
下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。
HostADS服务地址,请务必填写
内网地址
以确保服务联通性导入字段DataHub可以根据用户设置将部分column内容同步到ADS中
写入模式包括IGNORE和OVERWRITE两种模式
IGNORE: 忽略重复数据,即
INSERT IGNORE INTO
写入OVERWRITE: 更新重复数据,即
REPLACE INTO
写入
同步示例
创建ADS实例和表结构在ADS管控台中创建ADS实例和数据表
建立DataHub Topic在DataHub中建立Topic,示例中为TUPLE类型topic,schema如下图所示:
3 建立同步任务这里写入模式选择IGNORE,导入所有字段
4 向DataHub中写入TUPLE数据,数据内容如下图所示,共4条数据
5 . 确认同步数据客户端连接ADS服务查看数据,数据结果如下图所示:
同步ADS3.0
同步ADS3.0请参考:创建ADS3.0同步