一、dataX概覽
1.1 DataX
DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平台,實現包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各種異構數據源之間高效的數據同步功能。
經過測試,對43萬條事項數據,datax交換用時1分鍾,原kettle用時7分40秒,快了7倍多,可針對有特殊要求的項目客戶短期內強制要求采用此種方案解決問題。
1.2 Features
DataX本身作為數據同步框架,將不同數據源的同步抽象為從源頭數據源讀取數據的Reader插件,以及向目標端寫入數據的Writer插件,理論上DataX框架可以支持任意數據源類型的數據同步工作。同時DataX插件體系作為一套生態系統, 每接入一套新數據源該新加入的數據源即可實現和現有的數據源互通。
1.3 System Requirements
Windows
JDK(1.8以上,推薦1.8)
Python(推薦Python2.6.X)
其中python的windins版本安裝可以
以下為在 Window 平台上安裝 Python 的簡單步驟:
打開 WEB 瀏覽器訪問https://www.python.org/downloads/windows/
在下載列表中選擇Window平台安裝包,包格式為:python-XYZ.msi 文件 , XYZ 為你要安裝的版本號。
要使用安裝程序 python-XYZ.msi, Windows 系統必須支持 Microsoft Installer 2.0 搭配使用。只要保存安裝文件到本地計算機,然后運行它,看看你的機器支持 MSI。Windows XP 和更高版本已經有 MSI,很多老機器也可以安裝 MSI。
下載后,雙擊下載包,進入 Python 安裝向導,安裝非常簡單,你只需要使用默認的設置一直點擊"下一步"直到安裝完成即可。
然后類似jdk一樣,配置環境變量,doc下面執行python查看
1.4 工具部署
與目前公司交換使用較多的kettle,我們推薦使用windows操作系統
步驟一、直接下載DataX工具包:DataX下載地址 https://github.com/alibaba/DataX.git
下載后解壓至本地某個目錄:
步驟二、進入Job目錄,可以存放數據交換配置的json文件,例如mysql >mysql
配置參考mysql2mysql.json文件:
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://172.168.251.43:3306/zfsoft_gov_sxservice_std_v3_0_xn"],
"table": ["t_sx_service"]
}
],
"password": "*****",
"username": "root",
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/back",
"table": ["t_sx_service"]
}
],
"password": "*****",
"username": "root",
}
}
}
],
"setting": {
"speed": {
"channel": 1
}
}
}
}
步驟三、通過bin目錄下datax.py來啟動配置交換,如cmd 命令下進入datax目錄,通過bin\datax.py job\mysql2mysql.json 來執行
同步結束,顯示日志如下:
...
2015-12-17 11:20:25.263 [job-0] INFO JobContainer -
任務啟動時刻 : 2020-5-26 11:20:15
任務結束時刻 : 2020-5-26 11:20:25
任務總計耗時 : 10s
任務平均流量 : 205B/s
記錄寫入速度 : 5rec/s
讀出記錄總數 : 50
讀寫失敗總數 : 0
這是一個簡單的應用,大家可以通過datax github地址進行學習:https://github.com/alibaba/DataX 進行相關的學習