Data Transmission Service提供的資料加工功能ETL(Extract Transform Load),實現了流式資料的清洗和轉換處理,能夠準確、高效地提供您需要的資料。本文介紹如何通過DAG模式(可視化拖拽方式)配置ETL任務。
背景資訊
此功能即將下線,僅部分使用者可以免費體驗,未曾使用過該功能的使用者已無法體驗,建議您在同步或遷移執行個體中配置ETL任務。更多資訊,請參見在DTS遷移或同步任務中配置ETL。
在配置ETL任務前,請您瞭解以下資訊:
輸入/維表指ETL的源庫。
輸出指經過ETL處理後寫入的目標庫。
資料庫傳輸服務DTS為資料同步過程提供了流式的ETL功能,您可以在源庫和目標庫之間添加各種轉換組件,實現豐富的轉換操作,並將處理後的資料即時寫入目標庫。例如將兩張流表做JOIN操作後形成一張大表,寫入目標庫;或者給源表新增一個欄位,並為該欄位配置函數進行賦值,源表該欄位經過賦值轉換後寫入目標庫。
前提條件
當前僅支援在華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華南1(深圳)、華南3(廣州)和中國香港建立ETL任務。
當前源庫支援MySQL、PolarDB MySQL、Oracle、PostgreSQL、DB2 iSeries(AS/400)、DB2 LUW、DRDS(PolarDB-X 1.0)、PolarDB PostgreSQL、MariaDB、PolarDB Oracle、SQLServer、PolarDB-X 2.0。
當前目標庫支援MySQL、PolarDB MySQL、Oracle、AnalyticDB MySQL 3.0、PolarDB PostgreSQL、PostgreSQL、DB2 LUW、DB2 iSeries(AS/400)、AnalyticDB PostgreSQL、SQLServer、MariaDB、DRDS(PolarDB-X 1.0)、PolarDB Oracle、Tablestore。
由於ETL功能暫不支援結構遷移,所以您需要根據轉換條件在目標庫側完成對應表結構的建立。例如A表中包含欄位1、欄位2和欄位3,B表中包含欄位2、欄位3和欄位4,對兩張表通過做JOIN操作後,需要輸出欄位2和欄位3,則需要在目標庫側建立做JOIN操作後的C表,C表中包含欄位2和欄位3。
由於ETL功能暫不支援全量資料同步,所以您只能對增量資料進行即時轉換。
注意事項
所有的源庫和目標庫屬於同一地區。
所有流表均來源於同一執行個體。
資料庫的庫名和表名唯一。
轉換組件存在如下限制:
表JOIN:僅支援兩個表之間做JOIN操作。
欄位計算機和表記錄過濾:僅支援單個表結構。
配置流程
您可以選擇需要的源庫(支援多個源庫),轉換組件和需要寫入的目標庫即可實現ETL處理。建立ETL任務具體如下:
任務 | 說明 | 參考文檔 |
配置源庫資訊 | 您可以選擇輸入/維表節點的一個或多個資料類型,並需要為每個源庫依次配置以下資訊: 說明 您可以多次選擇同一類型的資料類型。
| |
配置轉換組件 | 您可以選擇轉換節點的一個或多個轉換組件,並需要為每種轉換組件依次配置對應資訊: 說明 您可以多次選擇同一轉換組件。
| |
配置目標庫資訊 | 您可以選擇輸出節點的一個目標庫類型,並為該目標庫依次配置以下資訊:
|
操作步驟
進入ETL任務的列表頁面。
在左側導覽列,單擊ETL。
單擊左上方的,在新增資料流對話方塊中,您需在資料流名稱配置ETL任務名稱,選擇開發方式為DAG。
單擊確認。
根據頁面資訊完成ETL任務配置。
建立ETL任務。
說明下文以輸入/維表 MySQL、欄位計算機和輸出 MySQL節點為例進行介紹。
源庫可以選擇一個或多個,同一類型的源庫可以選擇多次。
轉換組件可以選擇一個或多個,同一轉換組件可以選擇多次。
目標庫只能選擇一個。
在頁面左側,將輸入/維表 MySQL節點拖拽至頁面右側畫布的空白地區。
單擊畫布地區的輸入/維表 MySQL-1,依次配置節點資訊、欄位資訊和時間屬性。配置方法請參見配置源庫資訊。
在頁面左側,將欄位計算機節點拖拽至頁面右側畫布的空白地區。
將滑鼠指標移動至源庫輸入/維表 MySQL-1上,單擊圓點拉出連接線,串連源庫輸入/維表 MySQL -1和欄位計算機-1。
單擊畫布地區的欄位計算機-1,依次配置節點資訊和欄位資訊。配置方法請參見配置轉換組件。
在頁面左側,將輸出 MySQL-1節點拖拽至頁面右側畫布的空白地區。
將滑鼠指標移動至欄位轉換器-1上,並單擊圓點拉出連接線,串連欄位轉換器-1和目標庫輸出 MySQL-1。
在輸出 MySQL-1頁面,依次配置節點資訊和欄位對應資訊。配置方法請參見配置目標庫資訊。
配置完成後,根據需求單擊產生Flink SQL校正或發布。
產生Flink SQL校正:在頁面上方提示Flink SQL校正完成,說明Flink SQL產生成功。如果校正失敗,您可以單擊產生Flink SQL校正右側的查看ETL校正詳情,並根據提示資訊修複後,重新進行產生Flink SQL校正。
發布:系統會先進行產生Flink SQL校正,當產生Flink SQL校正成功後,才能開始預檢查。您可以單擊查看ETL校正詳情查看ETL校正詳情。
Flink SQL校正完成後,進行預檢查。當預檢查通過後,DTS才能開始ETL任務。如果預檢查失敗,請單擊檢查失敗項後的查看詳情,根據提示資訊修複後,重新進行預檢查。
預檢查完成後,單擊頁面下方的下一步購買。
在購買頁面,選擇鏈路規格和計算資源,並勾選資料轉送(隨用隨付)服務條款和公測協議條款。
單擊購買並啟動,ETL任務正式開始。
您可以返回ETL任務的列表頁面,查看ETL任務的任務狀態。