閱讀358 返回首頁    go 阿裏雲 go 技術社區[雲棲]


DRDS向ADS數據遷移指南

1 CDP簡介

數據同步節點任務是阿裏雲大數據平台對外提供的穩定高效、彈性伸縮的數據同步雲服務。用戶利用數據同步節點可以輕鬆地實現DRDS到ADS的數據同步。使用CDP將DRDS數據同步至ADS前需要在目標端創建相應的表結構,同步數據的具體操作如下:

2 配置數據源

2.1 增加DRDS數據源

1.登錄Base管控台,單擊頂部菜單欄中的項目管理,並選擇相應的項目。

2. 進入數據源配置,單擊新增數據源

e0180ae0511e86c87442f925f320d5f050fde955

3. 在新建數據源彈出框中,選擇數據源類型為 DRDS。

4. 配置 DRDS 數據源的各個信息項。

cbfee375a88a3f13e6d54d5300a23355008d9c24

配置項說明:

l  數據源名稱:由英文字母、數字、下劃線組成且需以字符或下劃線開頭,長度不超過60個字符。

l  數據源描述:對數據源進行簡單描述,不得超過80個字符。

l  數據源類型:當前選擇的數據源類型DRDS。

l  jdbcUrl:JDBC連接信息,格式為:jdbc://mysql://serverIP:Port/database。

l  用戶名/密碼:對應的用戶名和密碼。

5. 單擊測試連通性

6. 測試連通性通過後,單擊確定

2.2 增加ADS數據源

1.登錄Base管控台,單擊頂部菜單欄中的項目管理,並選擇相應的項目。

2. 進入數據源配置,單擊新增數據源

2359de806eea67c35b858d436bb00340904474ee

3. 在新建數據源彈出框中,選擇數據源類型為 ADS。ADS數據源提供了其他數據源向 AnalyticDB 寫入的功能,暫不能讀取數據。

4. 配置 ADS 數據源的各個信息項。

3fed928253b69d86d0f8179638a905ab37ad4abb

配置項說明:

l  數據源名稱:由英文字母、數字、下劃線組成且需以字符或下劃線開頭,長度不超過60個字符。

l  數據源描述:對數據源進行簡單描述,不得超過80個字符。

l  數據源類型:當前選擇的數據源類型ADS。

l  連接UrlADS連接信息,格式為:serverIP:Port

l  Schema相應的 ADS Schema 信息。

l  AccessID/AceessKey訪問密鑰 AccessKeyAK 相當於登錄密碼。

5. 單擊測試連通性。

6. 測試連通性通過後,單擊確定。

3 創建同步任務

本節將新建一個同步節點drds2ads並進行配置,以把drdst_app表中的數據寫入到新環境ads的數據庫中。具體操作如下:

1. 新建同步節點drds2ads,如下圖所示:

bed589db9d0a3dc1813c0674f8062193cb762e9d

fbcde91a7726922bb58761d7211edee0e821accb

2. 選擇數據來源和目標

在數據同步任務配置過程中,首先需選擇數據源和目標(新增數據源請聯係項目管理員),並支持模煳匹配查找數據源和目標以及表名。當選擇了源頭和目標,其選項框末尾將顯示對應數據源或目標類型。

e976a9976e6b2b1ca6665f3b6b824ca1dd2ef73d

3. 字段配置

需對字段映射關係進行配置,左側源頭表字段和右側目標表字段為一一對應的關係。可批量編輯源表或宿表字段,通過此方式添加的表字段類型默認為空。

da2b7d5d6222c4389ef8ff93c672aae9b93ac245

4. 數據抽取和加載控製

數據抽取控製即數據抽取的過濾條件,而數據加載控製即數據寫入時的規則。不同場景的數據同步任務配置界麵不同。DRDS到ADS的數據同步任務類型的配置界麵如下所示:

bb12f8ee810ef48abc8548dc887bdc9e5b9f3b96

l  抽取控製,可參考相應的SQL語法填寫where過濾語句(不需要填寫where關鍵字),該過濾條件將作為增量同步的條件。

說明:

where條件即針對源頭數據篩選條件,根據指定的column、table、where條件拚接SQL進行數據抽取。利用where條件可進行全量同步和增量同步,具體說明如下:

    全量同步

第一次做數據導入時通常為全量導入,可不用設置where條件;如隻是在測試時,避免數據量過大,可將where條件指定為limit10。

    增量同步

增量導入在實際業務場景中,往往會選擇當天的數據進行同步,通常需要編寫where條件語句,請先確認表中描述增量字段(時間戳)為哪一個。如tableA描述增量的字段為creat_time,那麼在where條件中編寫creat_time>${yesterday},在參數配置中為其參數賦值即可。

l  導入模式,支持批量導入(Load Data)和實時插入(Insert Ignore)兩種模式。

l  清理規則:

▬寫入前清理已有數據:導數據之前,清空表或者分區的所有數據,相當於 insert overwrite

▬寫入前保留已有數據:導數據前不清理任何數據,每次運行數據都是追加的,相當於insert into

5. 流量與出錯控製

流量與出錯控製用來配置作業速率上限和髒數據檢查規則,如下圖所示:

d245092cc42fd7cb0ce5f34e7bfe8c287d9048a1

l  作業速率上限:是指配置的當前數據同步作業可能達到的最高速率,其最終實際速率受網絡環境、數據庫配置等的影響,支持最大為10MB/s

以下為髒數據檢查規則,可配置一個或兩個,兩個規則之間的關係:

l  當出錯記錄數超過:當髒數據數量(即錯誤記錄數)超過所配置的個數時,該數據同步任務結束。

l  錯誤百分比達到:當髒數據數量(即錯誤記錄數)超過所配置的百分比時,該數據同步任務結束。

4 設置周期和依賴

大數據開發套件提供了強大的調度能力,支持按照時間、依賴關係的任務觸發機製,支持每日千萬級別的任務按照 DAG 關係準確、準時運行。支持分鍾、小時、天、周和月多種調度周期配置。具體操作步驟如下:

1. 配置同步任務的調度屬性

進入 數據開發 > 任務開發 頁麵,雙擊打開需要配置的同步任務(drds2drds),單擊右側的 調度配置,即可為任務配置 調度屬性,如下圖所示:

2ba3d57656df43f684145917f459e24f4bacebe9

配置參數說明:

l  調度狀態:勾選後即為暫停狀態。

l  生效日期:任務的有效日期,根據自身需求進行設置。

l  調度周期:任務的運行周期(月/周/天/小時/分鍾),比如以周為調度周期進行調度。

l  具體時間:任務運行的具體時間,比如將任務配置為在每周二的淩晨2點開始運行。

2. 配置同步任務的依賴屬性

配置完同步任務的調度屬性後,展開依賴屬性繼續配置,如下圖所示:

d39ca157873f150e1b8c0b0e3c6909e067e00313

依賴屬性中可以配置任務的上遊依賴,表示即使當前任務的實例已經到定時時間,也必須等待上遊任務的實例運行完畢才會觸發運行。

如果沒有配置上遊任務,則當前任務默認由項目本身觸發運行,故在調度係統中,該任務的上遊默認為 project_start 任務。每一個項目中默認會創建一個 project_start 任務作為根任務。

3. 提交同步任務

保存同步任務drds2drds,單擊提交,將其提交到調度係統中,如下圖所示:

7af4982fe6e6aa22c33228058ea842b1bd33585e

任務隻有提交到調度係統中,才會從第二天開始自動按照調度屬性配置的周期在各時間點生成實例,然後定時運行。

注意: 如果是 23:30 以後提交的任務,則調度係統從第三天開始才會自動周期生成實例並定時運行。

5 運維及日誌排錯

在之前的操作中,假如您配置了每周二淩晨 2 點執行同步任務,將任務提交後需要到第二天才能看到調度係統自動執行的結果,那麼如何確認實例運行的定時時間和相互依賴關係符合預期呢?大數據開發套件提供了測試運行和周期運行等觸發方式,詳情如下:

l  測試運行:手動觸發方式。如果您僅需確認單個任務的定時情況和運行,建議使用測試運行。

l  周期運行:係統自動觸發方式。提交成功的任務,調度係統在第二天0點起會自動生成當天不同時間點的運行實例,並在定時時間達到時檢查各實例的上遊實例是否運行成功,如果定時時間已到並且上遊實例全部運行成功,則當前實例會自動觸發運行,無需人工幹預。

注意:

手動觸發和自動調度的調度係統根據周期生成實例的規則一致:

l  無論周期選擇天/小時/分鍾//周,任務在每一個日期都會有對應實例生成。

l  僅在指定日期的對應實例會定時運行並生成運行日誌。

l  非指定日期的對應實例不會實際運行,而是在滿足運行條件時將狀態直接轉換為成功,因此不會有運行日誌生成。

本節將為您說明如何實現以上兩種觸發方式,具體操作見下文。

5.1 測試運行

1. 單擊工作流頁麵中的測試運行按鈕,如下圖所示:

7af4982fe6e6aa22c33228058ea842b1bd33585e

2. 根據跳轉頁麵的提示,單擊確認運行,如下圖所示:

a163b3b9c907c50f380e8c9ff11c38d2ea760fc7

556d767630833d558f2f070ed361291ff723b1ef

0192450c33d6335a20c54e858dfaefd211f29f06


3.單擊前往運維中心查看任務運行狀態,如下圖所示:

0ef3d16b670ea52c5c7b11c68a428989bca82f42

4. 查看測試實例的信息及運行日誌

進入 測試 頁麵,右擊任務實例名稱,可以查看定時時間/配置屬性/代碼等信息,也可以查看運行日誌,如下圖所示:

444421270d86039ea3c1c0a653783aaad6355e08

說明:

測試運行是手動觸發任務,隻要定時時間到了,立即運行,無視實例的上遊依賴關係。

若同步任務隻需要運行一次,測試運行完成後在調度屬性中將調度狀態選為暫停即可。

5.2 周期自動運行

周期自動運行,由係統根據所有任務的調度配置自動觸發,故頁麵沒有操作入口。查看實例信息和運行日誌有以下兩種:

(1)進入運維中心>任務運維頁麵,單擊運維,選擇業務日期或運行日期等參數,搜索drds2drds任務對應的實例,然後右鍵查看實例信息,並可對已調度起的實例任務進行日常的運維管理,如對任務進行終止、重跑、修複等操作。如下圖所示:

7d60cd2eb0ee5548b5c699d17e3d9e8b5c6d49bc

(2)查看運行日誌;單節點任務實例、工作流任務節點右擊展開的下拉菜單中可以選擇查看當前選中對象在執行過程中的相關日誌信息。如下圖所示:

b6e2399cdb618d42f4946c5c627a8f7b3a7c1347

0ed59dc87bead12c61fe2527c525fc1a6ff49856

說明:

l  若任務的實例初始狀態為未運行,當定時時間到達時,調度係統會檢查這個實例的全部上遊實例是否運行成功。

l  隻有上遊實例全部運行成功並且定時時間到達的實例,才會被觸發運行。

l  處於未運行狀態的實例,請確認上遊實例已經全部成功且已到定時時間。

最後更新:2017-09-28 11:33:21

  上一篇:go  專訪阿裏雲雁楊:因需求而進化,ECS雲服務器追求彈性極致
  下一篇:go  2016版碼農跳槽指南:雲架構師成香餑餑