配置流程
數(shù)據(jù)傳輸服務(wù)DTS提供的數(shù)據(jù)加工功能ETL(Extract Transform Load),實(shí)現(xiàn)了流式數(shù)據(jù)的清洗和轉(zhuǎn)換處理,能夠準(zhǔn)確、高效地提供您需要的數(shù)據(jù)。本文介紹如何通過DAG模式(可視化拖拽方式)配置ETL任務(wù)。
背景信息
此功能即將下線,僅部分用戶可以免費(fèi)體驗(yàn),未曾使用過該功能的用戶已無法體驗(yàn),建議您在同步或遷移實(shí)例中配置ETL任務(wù)。更多信息,請(qǐng)參見在DTS遷移或同步任務(wù)中配置ETL。如在體驗(yàn)過程中遇到問題,請(qǐng)加釘釘群溝通(釘釘群號(hào):32326646)。
在配置ETL任務(wù)前,請(qǐng)您了解以下信息:
輸入/維表指ETL的源庫(kù)。
輸出指經(jīng)過ETL處理后寫入的目標(biāo)庫(kù)。
數(shù)據(jù)庫(kù)傳輸服務(wù)DTS為數(shù)據(jù)同步過程提供了流式的ETL功能,您可以在源庫(kù)和目標(biāo)庫(kù)之間添加各種轉(zhuǎn)換組件,實(shí)現(xiàn)豐富的轉(zhuǎn)換操作,并將處理后的數(shù)據(jù)實(shí)時(shí)寫入目標(biāo)庫(kù)。例如將兩張流表做JOIN操作后形成一張大表,寫入目標(biāo)庫(kù);或者給源表新增一個(gè)字段,并為該字段配置函數(shù)進(jìn)行賦值,源表該字段經(jīng)過賦值轉(zhuǎn)換后寫入目標(biāo)庫(kù)。
前提條件
當(dāng)前僅支持在華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華南1(深圳)、華南3(廣州)和中國(guó)香港創(chuàng)建ETL任務(wù)。
當(dāng)前源庫(kù)支持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。
當(dāng)前目標(biāo)庫(kù)支持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功能暫不支持結(jié)構(gòu)遷移,所以您需要根據(jù)轉(zhuǎn)換條件在目標(biāo)庫(kù)側(cè)完成對(duì)應(yīng)表結(jié)構(gòu)的創(chuàng)建。例如A表中包含字段1、字段2和字段3,B表中包含字段2、字段3和字段4,對(duì)兩張表通過做JOIN操作后,需要輸出字段2和字段3,則需要在目標(biāo)庫(kù)側(cè)創(chuàng)建做JOIN操作后的C表,C表中包含字段2和字段3。
由于ETL功能暫不支持全量數(shù)據(jù)同步,所以您只能對(duì)增量數(shù)據(jù)進(jìn)行實(shí)時(shí)轉(zhuǎn)換。
注意事項(xiàng)
所有的源庫(kù)和目標(biāo)庫(kù)屬于同一地域。
所有流表均來源于同一實(shí)例。
數(shù)據(jù)庫(kù)的庫(kù)名和表名唯一。
轉(zhuǎn)換組件存在如下限制:
表JOIN:僅支持兩個(gè)表之間做JOIN操作。
字段計(jì)算器和表記錄過濾:僅支持單個(gè)表結(jié)構(gòu)。
配置流程
您可以選擇需要的源庫(kù)(支持多個(gè)源庫(kù)),轉(zhuǎn)換組件和需要寫入的目標(biāo)庫(kù)即可實(shí)現(xiàn)ETL處理。創(chuàng)建ETL任務(wù)具體如下:
任務(wù) | 說明 | 參考文檔 |
配置源庫(kù)信息 | 您可以選擇輸入/維表節(jié)點(diǎn)的一個(gè)或多個(gè)數(shù)據(jù)類型,并需要為每個(gè)源庫(kù)依次配置以下信息: 說明 您可以多次選擇同一類型的數(shù)據(jù)類型。
| |
配置轉(zhuǎn)換組件 | 您可以選擇轉(zhuǎn)換節(jié)點(diǎn)的一個(gè)或多個(gè)轉(zhuǎn)換組件,并需要為每種轉(zhuǎn)換組件依次配置對(duì)應(yīng)信息: 說明 您可以多次選擇同一轉(zhuǎn)換組件。
| |
配置目標(biāo)庫(kù)信息 | 您可以選擇輸出節(jié)點(diǎn)的一個(gè)目標(biāo)庫(kù)類型,并為該目標(biāo)庫(kù)依次配置以下信息:
|
操作步驟
進(jìn)入ETL任務(wù)的列表頁面。
在左側(cè)導(dǎo)航欄,單擊ETL。
單擊左上角的,在新增數(shù)據(jù)流對(duì)話框中,您需在數(shù)據(jù)流名稱配置ETL任務(wù)名稱,選擇開發(fā)方式為DAG。
單擊確認(rèn)。
根據(jù)頁面信息完成ETL任務(wù)配置。
創(chuàng)建ETL任務(wù)。
說明下文以輸入/維表 MySQL、字段計(jì)算器和輸出 MySQL節(jié)點(diǎn)為例進(jìn)行介紹。
源庫(kù)可以選擇一個(gè)或多個(gè),同一類型的源庫(kù)可以選擇多次。
轉(zhuǎn)換組件可以選擇一個(gè)或多個(gè),同一轉(zhuǎn)換組件可以選擇多次。
目標(biāo)庫(kù)只能選擇一個(gè)。
在頁面左側(cè),將輸入/維表 MySQL節(jié)點(diǎn)拖拽至頁面右側(cè)畫布的空白區(qū)域。
單擊畫布區(qū)域的輸入/維表 MySQL-1,依次配置節(jié)點(diǎn)信息、字段信息和時(shí)間屬性。配置方法請(qǐng)參見配置源庫(kù)信息。
在頁面左側(cè),將字段計(jì)算器節(jié)點(diǎn)拖拽至頁面右側(cè)畫布的空白區(qū)域。
將鼠標(biāo)指針移動(dòng)至源庫(kù)輸入/維表 MySQL-1上,單擊圓點(diǎn)拉出連接線,連接源庫(kù)輸入/維表 MySQL -1和字段計(jì)算器-1。
單擊畫布區(qū)域的字段計(jì)算器-1,依次配置節(jié)點(diǎn)信息和字段信息。配置方法請(qǐng)參見配置轉(zhuǎn)換組件。
在頁面左側(cè),將輸出 MySQL-1節(jié)點(diǎn)拖拽至頁面右側(cè)畫布的空白區(qū)域。
將鼠標(biāo)指針移動(dòng)至字段轉(zhuǎn)換器-1上,并單擊圓點(diǎn)拉出連接線,連接字段轉(zhuǎn)換器-1和目標(biāo)庫(kù)輸出 MySQL-1。
在輸出 MySQL-1頁面,依次配置節(jié)點(diǎn)信息和字段映射信息。配置方法請(qǐng)參見配置目標(biāo)庫(kù)信息。
配置完成后,根據(jù)需求單擊生成Flink SQL校驗(yàn)或發(fā)布。
生成Flink SQL校驗(yàn):在頁面上方提示Flink SQL校驗(yàn)完成,說明Flink SQL生成成功。如果校驗(yàn)失敗,您可以單擊生成Flink SQL校驗(yàn)右側(cè)的查看ETL校驗(yàn)詳情,并根據(jù)提示信息修復(fù)后,重新進(jìn)行生成Flink SQL校驗(yàn)。
發(fā)布:系統(tǒng)會(huì)先進(jìn)行生成Flink SQL校驗(yàn),當(dāng)生成Flink SQL校驗(yàn)成功后,才能開始預(yù)檢查。您可以單擊查看ETL校驗(yàn)詳情查看ETL校驗(yàn)詳情。
Flink SQL校驗(yàn)完成后,進(jìn)行預(yù)檢查。當(dāng)預(yù)檢查通過后,DTS才能開始ETL任務(wù)。如果預(yù)檢查失敗,請(qǐng)單擊檢查失敗項(xiàng)后的查看詳情,根據(jù)提示信息修復(fù)后,重新進(jìn)行預(yù)檢查。
預(yù)檢查完成后,單擊頁面下方的下一步購(gòu)買。
在購(gòu)買頁面,選擇鏈路規(guī)格和計(jì)算資源,并勾選數(shù)據(jù)傳輸(按量付費(fèi))服務(wù)條款和公測(cè)協(xié)議條款。
單擊購(gòu)買并啟動(dòng),ETL任務(wù)正式開始。
您可以返回ETL任務(wù)的列表頁面,查看ETL任務(wù)的任務(wù)狀態(tài)。