建立同步RDS/MySQL/ADS3.0

更新時間:
Copy as MD

同步資料到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.同步說明

  1. 目前DataHub僅支援將TUPLE資料同步到RDS服務中

  2. DataHub中的TIMESTAMP預設按照微秒(Microsecond)時間轉換成RDS TIMESTAMP類型,請使用者注意控制資料精度

  3. 為了避免並發讀寫同一個主鍵資料出現加鎖競爭,請使用者確保同一主鍵的資料寫入到DataHub同一Shard

  4. 使用VPC網路時,請確保DataHub TopicRDS執行個體在同一個Region

建立同步任務

  1. 依次進入專案列表/Project詳情/Topic詳情頁面

  2. 點擊右上方的 + 同步按鈕進行同步任務建立,彈出建立Connector對話方塊,需配置HostPort(預設3306)、DatabaseTableUserPassword等串連資訊,以及寫入模式匯入欄位網路類型等同步參數。選擇VPC網路時還需填寫VPC ID執行個體ID,設定起始時間Timestamp Unit(預設MICROSECOND)後,單擊建立

下面羅列了部分管控台建立同步任務的配置說明,更多更靈活的操作請參考SDK使用。

  1. HostRDS服務地址,請務必填寫內網地址以確保服務聯通性

  2. 匯入欄位DataHub可以根據使用者佈建將部分column內容同步到RDS表中

  3. 寫入模式包括IGNOREOVERWRITE兩種模式

    • IGNORE: 忽略重複資料,即INSERT IGNORE INTO寫入

    • OVERWRITE: 更新重複資料,即REPLACE INTO寫入

  4. VpcId和執行個體ID當使用者的RDS處於VPC網路時,需要填寫對應的VpcId資訊和RDS執行個體資訊

    同步樣本

  5. 建立RDS執行個體和表結構在RDS管控台中建立RDS執行個體和資料表。樣本中資料表名為wurao_tuple_test_001,包含3個欄位:field1(varchar,長度255)、field2(bigint,長度20)和field3(double)。

  6. 建立DataHub TopicDataHub中建立Topic,樣本中為TUPLE類型topic,schema包含3個欄位:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允許為空白。

  7. 建立同步任務這裡寫入模式選擇IGNORE,匯入所有欄位,即field1field2field3,網路類型選擇CLASSIC,單擊建立完成配置。

  8. DataHub中寫入TUPLE資料,共4條資料。樣本資料中field1f_1f_2,field212,field312,兩組資料各重複一次。

  9. 確認同步資料這裡採用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

建立同步任務

  1. 依次進入專案列表/Project詳情/Topic詳情頁面

  2. 點擊右上方的 + 同步按鈕進行同步任務建立

彈出建立Connector對話方塊,需配置Host(MySQL內網地址)、Port(預設3306)、DatabaseTableUserPassword等串連資訊,以及寫入模式匯入欄位網路類型(VPC或傳統網路)等同步參數。選擇VPC網路時還需填寫VPC ID執行個體ID(可在RDS管控台查看)。配置完成後單擊建立

下面羅列了部分管控台建立同步任務的配置說明,更多更靈活的操作請參考SDK使用。

  1. HostMySQL服務地址,請務必填寫內網地址以確保服務聯通性

  2. 匯入欄位DataHub可以根據使用者佈建將部分column內容同步到MySQL表中

  3. 寫入模式包括IGNOREOVERWRITE兩種模式

    • IGNORE: 忽略重複資料,即INSERT IGNORE INTO寫入

    • OVERWRITE: 更新重複資料,即REPLACE INTO寫入

同步樣本

  1. 建立MySQL執行個體和表結構在MySQL管控台中建立MySQL執行個體和資料表

  2. 建立DataHub TopicDataHub中建立Topic,樣本中為TUPLE類型topic,schema如下所示。

樣本中Topic名稱為wurao_tuple_test_001,schema包含3個欄位:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允許為空白。

  1. 建立同步任務這裡寫入模式選擇IGNORE,匯入所有欄位

  1. DataHub中寫入TUPLE資料,共4條資料

樣本資料中field1f_1f_2,field212,field312,兩組資料各重複一次。

  1. 確認同步資料這裡採用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同一Shard4)使用VPC網路時,請確保DataHub TopicADS執行個體在同一個Region

建立同步任務

  1. 依次進入專案列表/Project詳情/Topic詳情頁面

  2. 點擊右上方的 + 同步按鈕進行同步任務建立,彈出建立Connector對話方塊,需配置HostPort(預設3306)、DatabaseTableUserPassword等串連資訊,以及寫入模式匯入欄位網路類型等同步參數。選擇VPC網路時還需填寫VPC ID執行個體ID。配置完成後單擊建立

下面羅列了部分管控台建立同步任務的配置說明,更多更靈活的操作請參考SDK使用。

  1. HostRDS服務地址,請務必填寫內網地址以確保服務聯通性

  2. 匯入欄位DataHub可以根據使用者佈建將部分column內容同步到RDS表中

  3. 寫入模式包括IGNOREOVERWRITE兩種模式

    • IGNORE: 忽略重複資料,即INSERT IGNORE INTO寫入

    • OVERWRITE: 更新重複資料,即REPLACE INTO寫入

  4. 執行個體ID 擷取方式

    1. 點擊查詢叢集的詳細屬性

    2. 點擊調試按鈕,在調試頁面選擇服務地址,填入DBClusterId(AnalyticDB MySQL 數倉版叢集 ID) ,發起調用

      1. 進入DescribeDBClusterAttribute介面文檔頁面,可看到介面說明和右側的調試按鈕。

      2. DBClusterId外,還需在RegionId中填入叢集所在地區ID(如cn-beijing),然後單擊發起調用

    3. 調用結果頁面VPCCloudInstanceId欄位值即為要填寫的執行個體ID

      1. 調用成功後(狀態代碼200),在返回的JSON結果中可通過搜尋vpccloud關鍵字快速定位VPCCloudInstanceId欄位。

同步樣本

  1. 建立ADS執行個體和表結構

  2. 建立DataHub TopicDataHub中建立Topic,樣本中為TUPLE類型topic,schema包含3個欄位:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允許為空白。

  3. 建立同步任務這裡寫入模式選擇IGNORE,匯入所有欄位,即匯入field1field2field3,網路類型選擇CLASSIC,單擊建立完成配置。

  4. DataHub中寫入TUPLE資料,共4條資料。樣本資料中field1f_1f_2,field212,field312,兩組資料各重複一次。

  5. 確認同步資料這裡採用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)