為了滿足不同業務場景數據集成的訴求,Dataphin支持用戶自定義當前系統不支持的RDBMS數據庫(關系型數據庫)類型的組件,并進行數據同步。您只需要準備關系型數據庫的驅動,即可自定義RDBMS數據庫類型的組件。本教程以MySQL為例,為您介紹如何自定義RDBMS數據庫及進行數據同步。
前提條件
已開通RDS MySQL實例,且網絡類型為專有網絡(VPC)。如何開通RDS MySQL實例,請參見快速創建RDS MySQL實例。
已創建RDS MySQL實例的數據庫和賬號,創建過程中需要您記錄數據庫名稱、用戶名和密碼。如何創建數據庫和賬號,請參見創建數據庫和賬號。
已下載MySQL數據庫的驅動。
背景信息
RDBMS數據庫即關系型數據庫,包括MySQL、Oracle、SQL Server、PostgreSQL、Vertica、DRDS、DB2、OceanBase、PolarDB、SAP HANA和TeraData。本教程以MySQL為例,帶您體驗自定義RDBMS數據庫,并進行數據同步。
操作流程
自定義并應用MySQL數據庫組件的流程如下:
步驟 | 描述 |
在您開始自定義并應用RDBMS數據庫組件前,需要配置RDS MySQL實例和Dataphin間的網絡,及創建同步數據的源表和目標表。 | |
自定義數據源的類型為test_rdbms_mysql。完成定義后,即可在組件庫的開發模塊下查詢到自定義的數據源組件。 | |
基于自定義的數據源組件類型(test_rdbms_mysql),創建test_rdbms_mysql類型的數據源實例。完成創建數據源實例后,即可將RDS MySQL實例的業務數據引入至Dataphin實例。 | |
基于自定義的數據源組件類型(test_rdbms_mysql)和數據源實例(test_rdbms_mysql),創建離線管道任務。完成離線管道任務的創建后,即可運行離線管道任務,以實現數據的集成(同步數據)。 |
步驟一:配置網絡和創建數據表
連通RDS MySQL實例與Dataphin實例間的網絡。
添加RDS MySQL實例的外網地址和端口至Dataphin項目空間的沙箱白名單:
添加Dataphin的IP至RDS MySQL實例的白名單。如何添加Dataphin的IP至RDS MySQL實例的白名單,請參見通過客戶端、命令行連接RDS MySQL實例。
地域
IP白名單
華東2(上海)
100.104.228.128/26、100.104.115.192/26
華南1(深圳)
100.104.48.128/26
華北2(北京)
100.104.238.64/26
華東2(上海)、華南1(深圳)、華北2(北京)
100.104.0.0/16
創建同步數據的源數據表和目標數據表。
使用命令行方式連接MySQL實例,連接后創建同步數據的源數據表和目標數據表。如何連接MySQL實例,請參見通過客戶端、命令行連接RDS。
創建源數據表的代碼示例如下。
create table xin_test_scr2 ( id string, name string ); insert into xin_test_scr2 values('1001','huayu1'),('1002','huayuyu2'),
創建目標數據表的代碼示例如下。
create table xin_test_det_1 ( id string, name string );
步驟二:創建自定義數據源
登錄Dataphin控制臺。
在Dataphin控制臺頁面,選擇工作區地域后,單擊進入Dataphin>>。
進入自定義組件頁面。
在Dataphin首頁,單擊管理中心。
在管理中心頁面,單擊頂部菜單欄數據源管理。
在自定義源類型頁面,單擊+新建離線自定義源類型。
在新建離線自定義源類型頁面,配置參數。
參數
描述
基本配置
類型
選擇類型為RDBMS數據庫。
名稱
填寫名稱為test_rdbms_mysql。
重要因為名稱定義了自定義組件的類型,所以系統不支持創建相同名稱的自定義組件。
類型編碼
用于數據源類型的唯一標識編碼,供后端使用。填寫為rdbms_mysql。
資源配置
驅動名稱
填寫驅動名稱為com.mysql.jdbc.Driver。
驅動上傳
上傳已下載的驅動文件(mysql-connector-java-5.1.47)。請參見前提條件。
描述信息
描述
填寫為mysql-5.1.47數據庫。
單擊創建。
步驟三:創建數據源實例
在數據源管理頁面,單擊頁面右上角的+新建數據源。
在新建數據源對話框中,選擇自定義數據源下的test_rdbms_mysql數據源。
在新建test_rdbms_mysql數據源對話框,配置參數。
參數
描述
數據源名稱
填寫數據源名稱為test_rdbms_mysql。
數據源描述
填寫數據源的簡單描述。
數據源配置
配置數據源:
如果開發模式是Basic模式,則選擇生產數據源。
如果開發模式是Dev-Prod模式,則可以通過以下方式配置數據源:
單擊生產+開發數據源,配置生產環境和開發環境的數據源。
單擊生產數據源,配置生產數據源。完成生產數據源的創建后,單擊開發數據源,配置開發環境的數據源。
說明系統支持配置生產數據源和開發數據源為相同的數據源,也可以配置為不同的數據源。
標簽
非必填,配置數據源的標簽分類。
生產數據源或生產+開發數據源
鏈接地址
填寫數據源的鏈接地址。
鏈接地址的格式為:
jdbc:mysql://{Public Endpoint}:3306/{DatabaseName}
。{Public Endpoint}:外網地址。
{DatabaseName}:數據庫名稱。
用戶名
登錄數據庫的用戶名。
密碼
登錄數據庫的密碼。
單擊測試鏈接,測試數據源的連通性。
重要非RDBMS類型數據源不支持連接測試,請您務必保證數據源連接信息的準確性。
單擊確定。
步驟四:創建并開發離線管道任務
在數據源頁面,鼠標懸停至左上角圖標后,單擊集成。
在數據集成頁面,進入創建管道開發腳本對話框。
單擊左側導航欄離線管理,進入離線管道開發頁面。
在離線管道開發頁面,單擊并選擇離線單條管道,進入創建管道開發腳本對話框。
在創建管道開發腳本對話框,配置參數。
參數
描述
管道名稱
填寫為test。
調度類型
選擇為手動節點。
描述
填寫簡單的描述。例如,測試自定義組件。
選擇目錄
默認為離線管道。
單擊確定。
在test離線管道頁面,單擊頁面右上角的后,單擊選擇自定義。
拖動組件custom_test_rdbms_mysql_輸入配置和custom_test_rdbms_mysql_輸出配置至左側的管道畫布中。
連接輸入與輸出組件并單擊配置組件。如下圖所示:
custom_test_rdbms_mysql_輸入組件配置。
參數
描述
步驟名稱
本教程中保持默認。
您也可以修改名稱。步驟名稱命名規則如下:只能包括字母、數字和短劃線(-)。長度為64字符以內。
數據源
選擇test_rdbms_mysql。
表
填寫來源表為xin_test_src2。
輸入過濾
本教程中無需配置。
輸入過濾即填寫輸入字段的過濾信息,例如
ds=${bizdate}
。輸入過濾適用于以下兩種場景:
固定的某一部分數據。
參數過濾。
輸出字段
輸出字段即需要同步數據的字段。本教程中添加源表xin_test_scr2中的id和name字段為輸入組件的輸出字段:
在輸出字段區域,單擊新建輸出字段。
填寫輸出字段為id,類型選擇為String。
單擊新建輸出字段。
填寫輸出字段為name,類型選擇為String。
custom_test_rdbms_mysql_輸出組件配置。
參數
描述
步驟名稱
本教程中保持默認。
您也可以修改名稱。步驟名稱命名規則如下:只能包括字母、數字和短劃線(-)。長度為64字符以內。
數據源
選擇test_rdbms_mysql。
表
填寫目標表為xin_test_dst_1。
解析方案
本教程中無需選擇。
解析方案為非必填項。選擇數據輸出前和輸出完成的一些特殊處理方式。解析方案包括填寫準備語句和填寫完成語句: 填寫準備語句:導入前執行的SQL腳本。填寫完成語句:導入后執行的SQL腳本。
輸入字段
默認展示輸入組件中配置的輸出字段。
輸出字段
輸出字段即需要同步數據的字段。本教程中添加源表xin_test_scr2中的id和name字段為輸出組件的輸出字段:
在輸出字段區域,單擊新建輸出字段。
填寫輸出字段為id,類型選擇為String。
單擊新建輸出字段。
填寫輸出字段為name,類型選擇為String。
映射關系
單擊快速映射后,選擇同名映射。
映射關系指的是輸入組件的輸出字段和輸出組件的輸出字段間的映射關系。映射關系包含同名映射和同行映射:
同名映射:映射字段名稱相同的字段。
同行映射:映射同行的字段。同行映射后,輸入字段為最終的輸出字段。
單擊確定。
單擊畫布工具欄運行,運行離線管道任務,查看任務是否正常執行。