开源数据同步工具——datax
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
支持的数据存储
类型
数据源
Reader(读)
Writer(写)
文档
RDBMS 关系型数据库
MySQL
√
√
Oracle
√
√
SQLServer
√
√
PostgreSQL
√
√
DRDS
√
√
通用RDBMS(支持所有关系型数据库)
√
√
阿里云数仓数据存储
ODPS
√
√
ADS
√
OSS
√
√
OCS
√
√
NoSQL数据存储
OTS
√
√
Hbase0.94
√
√
Hbase1.1
√
√
Phoenix4.x
√
√
MongoDB
√
√
Hive
√
√
无结构化数据存储
TxtFile
√
√
FTP
√
√
HDFS
√
√
Elasticsearch
√
环境依赖
JDK(1.6以上,推荐1.6) 教程
Python(推荐Python2.6.x) 教程
datax 下载地址
脚本文件:run.bat ,内容如下:
cd E:\Application\datax #进入 datax 目录
python2 bin\datax.py -p "-Dtable=TableName" job\myjob.json
任务文件:job/job.json ,内容如下:
{
"job": {
"setting": {
"speed": {
"byte": 10485760
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [{
"reader": {
"name": "sqlserverreader",
"parameter": {
"username": "sa",//源数据库用户名
"password": "123456",//源数据库密码
"column": ["*"],
"connection": [{
"table": ["$table"],
"jdbcUrl": ["jdbc:sqlserver://10.1.1.1:1433;DatabaseName=dbname"]//源数据库ip、port、库名
}]
}
},
"writer": {
"name": "sqlserverwriter",
"parameter": {
"username": "sa",//目的数据库用户名
"password": "123456",//目的数据库密码
"column": ["*"],
"preSql": [
" truncate table @table "
],
"postSql": ["],
"connection": [{
"table": ["$table"],
"jdbcUrl": "jdbc:sqlserver://10.1.1.1:1433;DatabaseName=dbname"
}]//目的数据库 ip、port、库名
}
}
}]
}
}
目录结构
datax
├──run.bat
│
├──job
│ ├──job.json