DataX是異構數(shù)據(jù)源離線同步的工具,支持多種異構數(shù)據(jù)源之間高效的數(shù)據(jù)同步。Dataphin系統(tǒng)內(nèi)嵌了DataX組件,支持通過構建Shell任務調(diào)用DataX,實現(xiàn)數(shù)據(jù)同步。本教程以RDS MySQL數(shù)據(jù)庫為例,為您介紹基于Dataphin如何調(diào)用DataX同步數(shù)據(jù)。
前提條件
- 已開通RDS MySQL實例,且RDS MySQL實例的網(wǎng)絡類型為專有網(wǎng)絡。如何開通RDS MySQL實例,請參見創(chuàng)建RDS MySQL實例。
- 已創(chuàng)建RDS MySQL實例的數(shù)據(jù)庫和賬號,創(chuàng)建過程中需要您記錄數(shù)據(jù)庫名稱、用戶名和密碼。如何創(chuàng)建數(shù)據(jù)庫和賬號,請參見創(chuàng)建數(shù)據(jù)庫和賬號。
背景信息
Dataphin系統(tǒng)內(nèi)嵌了DataX組件,在Dataphin中創(chuàng)建和運行DataX任務(Shell任務)即可將DataX調(diào)用起來,以實現(xiàn)數(shù)據(jù)同步。
DataX支持同步數(shù)據(jù)的數(shù)據(jù)源包括MySQL、Oracle、SQL Server、PostgreSQL、HDFS、Hive、HBase等。DataX的更多信息,請參見DataX。
使用限制
Shell任務不支持通過內(nèi)網(wǎng)地址訪問RDS MySQL實例。
操作流程
功能 | 描述 |
---|---|
步驟一:連通RDS MySQL實例與Dataphin間的網(wǎng)絡 | 在您開始同步數(shù)據(jù)前,首先需要連通RDS MySQL實例和Dataphin間的網(wǎng)絡。 |
步驟二:創(chuàng)建數(shù)據(jù)同步的源表和目標表 | 登錄至RDS MySQL實例,創(chuàng)建本教程中用于數(shù)據(jù)同步的源表和目標表。 |
步驟三:下載并配置DataX任務的代碼模板 | 下載并配置DataX任務的代碼模板后,保存為datax.json。 |
步驟四:上傳datax.json文件至Dataphin | 上傳DataX任務代碼文件至Dataphin平臺后,DataX任務即可調(diào)用。 |
步驟五:創(chuàng)建DataX任務 | 在開發(fā)環(huán)境創(chuàng)建并運行同步數(shù)據(jù)的DataX任務。 |
步驟六:運行生產(chǎn)環(huán)境中的DataX任務 | 在生產(chǎn)環(huán)境運行DataX任務,保障生產(chǎn)環(huán)境業(yè)務數(shù)據(jù)的正常產(chǎn)出。 |
步驟一:連通RDS MySQL實例與Dataphin間的網(wǎng)絡
步驟二:創(chuàng)建數(shù)據(jù)同步的源表和目標表
使用命令行方式連接RDS MySQL實例,請參見方法三:使用命令行方式連接實例。創(chuàng)建同步數(shù)據(jù)的源數(shù)據(jù)表和目標數(shù)據(jù)表:
- 創(chuàng)建源數(shù)據(jù)表的代碼示例如下。
create table datax_test1( area varchar(255),province varchar(255) ); insert into datax_test1 values('華北','山東省'),('華南','河南省');
- 創(chuàng)建目標數(shù)據(jù)表的代碼示例如下。
create table datax_test2( area varchar(255),province varchar(255) );
步驟三:下載并配置DataX任務的代碼模板
步驟四:上傳datax.json文件至Dataphin
步驟五:創(chuàng)建DataX任務
步驟六:運行生產(chǎn)環(huán)境中的DataX任務
- 請參見步驟四:上傳datax.json文件至Dataphin,進入數(shù)據(jù)開發(fā)頁面。
- 在數(shù)據(jù)開發(fā)頁面,單擊頂部菜單欄的運維。
- 在運維中心,單擊項目名稱后的圖標,切換至生產(chǎn)環(huán)境()。
- 在運維中心,運行DataX任務。
- 查看DataX任務運行生成的實例運行日志。