簡介
DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平台,實現包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各種異構數據源之間高效的數據同步功能。DataX采用了框架 + 插件 的模式,目前已開源,代碼托管在github。
DataX安裝部署及小試
1.下載壓縮包
下載頁面地址:https://github.com/alibaba/DataX
在頁面中【Quick Start】--->【Download DataX下載地址】進行下載。下載后的包名:datax.tar.gz。
解壓后{datax}目錄下有{bin conf job lib log log_perf plugin script tmp}幾個目錄。
2.安裝
將下載后的壓縮包直接解壓后可用,前提是對應的java及python環境滿足要求。
- JDK(1.6以上,推薦1.6)
- Python(推薦Python2.7.X)一定要為python2,因為后面執行datax.py的時候,里面的python的print會執行不了,導致運行不成功,會提示你print語法要加括號,python2中加不加都行 python3中必須要加,否則報語法錯
- Apache Maven 3.x (Compile DataX)
3.測試
進入datax目錄下的bin中,里面有datax.py文件,可以在cmd中測試:
python D:\datax\bin\datax.py D:\datax\job\job.json
使用即執行一個python腳本,傳入json配置文件
配置文件,可以查看模版樣例,模版結果顯示:
如果亂碼,可以在cmd中輸入:
CHCP 65001
使用DataX將mysql數據導入到oracle中
1.配置json

{ "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "****", "password": "****", "column": ["rank","payment"], "connection": [ { "table": [ "salary" ], "jdbcUrl": [ "jdbc:mysql://127.0.0.1:3306/test" ] } ] } }, "writer": { "name": "oraclewriter", "parameter": { "username": "****", "password": "****", "column": [ "rank", "payment" ], "preSql": [ "delete from oracle_test" ], "connection": [ { "jdbcUrl": "jdbc:oracle:thin:@127.0.0.1:1521:test", "table": [ "oracle_test" ] } ] } } } ], "setting": { "speed": { "channel": 1 } } } }
2.cmd執行
python d:\datax\bin\datax.py E:\datax\Mysql2Oracle.json