操作場景
CDM支持表到表的遷移,本章節以MySQL-->DWS為例,介紹如何通過CDM將表數據遷移到表中。流程如下:
1.創建CDM集群并綁定EIP
2.創建MySQL連接
3.創建DWS連接
4.創建遷移作業
前提條件
- 已獲取DWS數據庫的IP地址、端口、數據庫名稱、用戶名、密碼,且該用戶擁有DWS數據庫的讀、寫和刪除權限。
- 已獲取連接MySQL數據庫的IP地址、端口、數據庫名稱、用戶名、密碼,且該用戶擁有MySQL數據庫的讀寫權限。
- 用戶已參考管理驅動,上傳了MySQL數據庫驅動。
創建CDM集群并綁定EIP
1.參考創建CDM集群,創建CDM集群。
關鍵配置如下:
- CDM集群的規格,按待遷移的數據量選擇,一般選擇cdm.medium即可,滿足大部分遷移場景。
- CDM集群所在VPC、子網、安全組,選擇與DWS集群所在的網絡一致。
2.CDM集群創建完成后,選擇集群操作列的“綁定彈性IP”,CDM通過EIP訪問MySQL。
說明如果用戶對本地數據源的訪問通道做了SSL加密,則CDM無法通過彈性IP連接數據源。
創建MySQL連接
1.在CDM集群管理界面,單擊集群后的“作業管理”,選擇“連接管理 > 新建連接”,進入連接器類型的選擇界面。
2.選擇“MySQL”后單擊“下一步”,配置MySQL連接的參數。
單擊“顯示高級屬性”可查看更多可選參數,具體請參見 配置常見關系數據庫連接。這里保持默認,必填參數如下表“MySQL連接參數”所示。
| 參數名 | 說明 | 取值樣例 |
|---|---|---|
| 名稱 | 輸入便于記憶和區分的連接名稱。 | mysqllink |
| 數據庫服務器 | MySQL數據庫的IP地址或域名。 | 192.168.1.110 |
| 端口 | MySQL數據庫的端口。 | 3306 |
| 數據庫名稱 | MySQL數據庫的名稱。 | sqoop |
| 用戶名 | 擁有MySQL數據庫的讀、寫和刪除權限的用戶。 | admin |
| 密碼 | 用戶的密碼。 | - |
| 使用本地API | 使用數據庫本地API加速(系統會嘗試啟用MySQL數據庫的local_infile系統變量)。 | 是 |
| 使用Agent | 是否選擇通過Agent從源端提取數據。 | 是 |
| local_infile字符集 | mysql通過local_infile導入數據時,可配置編碼格式。 | utf8 |
| 驅動版本 | 適配mysql的驅動。 | - |
| Agent | 單擊“選擇”,選擇連接Agent中已創建的Agent。 | - |
| 單次請求行數 | 指定每次請求獲取的行數。 | 1000 |
| 單次提交行數 | 支持通過agent從源端提取數據 | 1000 |
| 連接屬性 | 自定義連接屬性。 | useCompression=true |
| 引用符號 | 連接引用表名或列名時的分隔符號。默認為空。 | ' |
| 單次寫入行數 | 指定單次批量寫入的行數,當寫入行數累計到單次批量提交行數時提交一次,該值應當小于單次提交行數。 | 100 |
3.單擊“保存”回到連接管理界面。
說明如果保存時出錯,一般是由于MySQL數據庫的安全設置問題,需要設置允許CDM集群的EIP訪問MySQL數據庫。
創建DWS連接
1.在CDM集群管理界面,單擊集群后的“作業管理”,選擇“連接管理 > 新建連接”,進入連接器類型的選擇界面。
2.連接器類型選擇“數據倉庫服務(DWS)”后單擊“下一步”配置DWS連接參數,必填參數如下表“DWS連接參數”所示,可選參數保持默認即可。
| 參數名 | 說明 | 取值樣例 |
|---|---|---|
| 名稱 | 輸入便于記憶和區分的連接名稱。 | dwslink |
| 數據庫服務器 | DWS數據庫的IP地址或域名。 | 192.168.0.3 |
| 端口 | DWS數據庫的端口。 | 8000 |
| 數據庫名稱 | DWS數據庫的名稱。 | db_demo |
| 用戶名 | 擁有DWS數據庫的讀、寫和刪除權限的用戶。 | dbadmin |
| 密碼 | 用戶的密碼。 | - |
| 使用Agent | 是否選擇通過Agent從源端提取數據。 | 是 |
| Agent | 單擊“選擇”,選擇連接Agent中已創建的Agent。 | - |
| 導入模式 | COPY模式:將源數據經過DWS管理節點后拷貝到數據節點。如果需要通過Internet訪問DWS,只能使用COPY模式。 | COPY |
3.單擊“保存”完成創建連接。
創建遷移作業
1.選擇“表/文件遷移 > 新建作業”,開始創建從MySQL導出數據到DWS的任務。
詳見下圖:創建MySQL到DWS的遷移任務

- 作業名稱:用戶自定義便于記憶、區分的任務名稱。
- 源端作業配置
?源連接名稱:選擇上述 創建MySQL連接 中的“mysqllink”。
?使用SQL語句:否。
?模式或表空間:待抽取數據的模式或表空間名稱。
?表名:要抽取的表名。
?其他可選參數一般情況下保持默認即可,詳細說明請參見配置常見關系數據庫源端參數。
- 目的端作業配置
?目的連接名稱:選擇創建DWS連接中的連接“dwslink”。
?模式或表空間:選擇待寫入數據的DWS數據庫。
?自動創表:只有當源端和目的端都為關系數據庫時,才有該參數。
?表名:待寫入數據的表名,可以手動輸入一個不存在表名,CDM會在DWS中自動創建該表。
?是否壓縮:DWS提供的壓縮數據能力,如果選擇“是”,將進行高級別壓縮,CDM提供了適用I/O讀寫量大,CPU富足(計算相對小)的壓縮場景
?存儲模式:可以根據具體應用場景,建表的時候選擇行存儲還是列存儲表。一般情況下,如果表的字段比較多(大寬表),查詢中涉及到的列不多的情況下,適合列存儲。如果表的字段個數比較少,查詢大部分字段,那么選擇行存儲比較好。
?擴大字符字段長度:當目的端和源端數據編碼格式不一樣時,自動建表的字符字段長度可能不夠用,配置此選項后CDM自動建表時會將字符字段擴大3倍。
?導入前清空數據:任務啟動前,是否清除目的表中數據,用戶可根據實際需要選擇。
2.單擊“下一步”進入字段映射界面,CDM會自動匹配源和目的字段,如下圖“表到表的字段映射”所示。
- 如果字段映射順序不匹配,可通過拖拽字段調整。
- 單擊,可批量映射字段。
- CDM的表達式已經預置常用字符串、日期、數值等類型的字段內容轉換。

3.單擊“下一步”配置任務參數,一般情況下全部保持默認即可。
該步驟用戶可以配置如下可選功能:
- 作業失敗重試:如果作業執行失敗,可選擇是否自動重試,這里保持默認值“不重試”。
- 作業分組:選擇作業所屬的分組,默認分組為“DEFAULT”。在CDM“作業管理”界面,支持作業分組顯示、按組批量啟動作業、按分組導出作業等操作。
- 是否定時執行:如果需要配置作業定時自動執行,請參見 配置定時任務。這里保持默認值“否”。
- 抽取并發數:設置同時執行的抽取任務數。可適當調大參數,提升遷移效率。
- 是否寫入臟數據:表到表的遷移容易出現臟數據,建議配置臟數據歸檔。
- 作業運行完是否刪除:這里保持默認值“不刪除”。
4.單擊“保存并運行”,回到作業管理界面,在作業管理界面可查看作業執行進度和結果。
5.作業執行成功后,單擊作業操作列的“歷史記錄”,可查看該作業的歷史執行記錄、讀取和寫入的統計數據。
在歷史記錄界面單擊“日志”,可查看作業的日志信息。