DATAX 数据同步框架入门
一、前言
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能。
二、下载安装
2.1、Python安装
#Python各个版本下载地址
https://www.python.org/ftp/python/2.7.6/
#下载Python
wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
2.2、DATAX安装
#下载DATAX
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
#解压DATAX
tar zxf datax.tar.gz
#删除datax/plugin目录下._文件
rm -rf datax/plugin/*/._*
#检测是否安装成功,打印无报错,安装成功,否则安装失败。
cd datax/bin
python datax.py ../job/job.json
2.3、测试结果

2.4、查看数据库之间查询json模板(例如:mysql--->To--->mysql)
python datax.py -r mysqlreader -w mysqlwriter


三、数据同步案例
3.1、mysql数据库与mysql数据库 之间数据同步----->mysqlTomysql
3.1.1、mysqlTomysql.json文件
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["a","b","c"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/dd1?useUnicode=true&characterEncoding=utf8"],
"table": ["aa"]
}
],
"password": "12345678",
"username": "root",
"where": ""
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["a","b","c"],
"connection": [
{
"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/dd2?useUnicode=true&characterEncoding=utf8",
"table": ["aa"]
}
],
"password": "12345",
"preSql": [],
"session": [],
"username": "root",
"writeMode": "update"
}
}
}
],
"setting": {
"speed": {
"channel": "1"
}
}
}
}
3.1.2、mysqlTomysql.json测试结果

3.2、oracle数据库与mysql数据库 之间数据同步----->oracleTomysql
oracleTomysql.json文件
{
"job": {
"content": [
{
"reader": {
"name": "oraclereader",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:oracle:thin:@127.0.0.1:1521/orcl"],
"table": ["aa"]
}
],
"password": "aaa",
"username": "c##aa"
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/dzda3?useUnicode=true&characterEncoding=utf8",
"table": ["aa"]
}
],
"password": "123456",
"preSql": [],
"session": [],
"username": "root",
"writeMode": "insert"
}
}
}
],
"setting": {
"speed": {
"channel": "1"
}
}
}
}
注意:window环境下运行时,会产生乱码,再执行同步前,先执行以下语句,处理乱码CHCP 65001
CHCP 65001
浙公网安备 33010602011771号