全部产品

创建同步ADS

更新时间:2020-07-02 11:53:50

准备工作


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

DataHub MySQL
TINYINT TINYINT
SMALLINT SMALLINT
INTEGER NIT
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同步较慢,数据堆积,严重情况可能因为同步延迟超过生命周期从而丢失数据。

创建同步任务

  1. 依次进入项目列表/Project详情/Topic详情页面
  2. 点击右上角的 + 同步按钮进行同步任务创建
    image.png

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

  1. Host
    ADS服务地址,请务必填写内网地址以确保服务联通性
  2. 导入字段
    DataHub可以根据用户设置将部分column内容同步到ADS中
  3. 写入模式
    包括IGNORE和OVERWRITE两种模式
    • IGNORE: 忽略重复数据,即INSERT IGNORE INTO写入
    • OVERWRITE: 更新重复数据,即REPLACE INTO写入

同步示例

  1. 创建ADS实例和表结构
    在ADS管控台中创建ADS实例和数据表
  1. 建立DataHub Topic
    在DataHub中建立Topic,示例中为TUPLE类型topic,schema如下图所示:

SinkOssSchema.jpg

  1. 建立同步任务
    这里写入模式选择IGNORE,导入所有字段
    image.png
  2. 向DataHub中写入TUPLE数据,数据内容如下图所示,共4条数据

SinkRdsSample.jpg

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

    SinkRdsResult.jpg

同步ADS3.0

同步ADS3.0请参考:创建ADS3.0同步