DataX:阿里异构数据源离线同步工具安装与使用指南
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | alibaba/DataX |
| 开源协议 | Apache-2.0 |
| 主要语言 | Java |
| Star 数 | 约 15k |
DataX 是阿里云 DataWorks 数据集成的开源版本,在阿里集团内广泛使用的离线数据同步工具/平台。它实现了 MySQL、Oracle、HDFS、Hive、HBase、PostgreSQL、MaxCompute 等各种异构数据源之间高效的数据同步。

二、官方图片
上图为 DataX 仓库在 GitHub 上的社交预览图。
三、环境要求
- JDK 8+;
- Python 2.6+(datax.py 脚本);
- 下载压缩包解压即可。
四、部署步骤
1. 下载
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz
tar -xzvf datax.tar.gz
cd datax
2. 自检
python bin/datax.py job/job.json
3. 编写同步任务(json)
{
"job": {
"content": [{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "***",
"column": ["id", "name"],
"connection": [{"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/test"], "table": ["user"]}]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"username": "root",
"password": "***",
"column": ["id", "name"],
"connection": [{"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/dest", "table": ["user_bak"]}]
}
}
}]
}
}
4. 执行同步
python bin/datax.py job/mysql2mysql.json
五、使用方法
- Reader/Writer 插件:每种数据源一套插件;
- 流式同步:支持限速、并发;
- 异构互通:新插件接入即可与现有互通;
- 定时调度:配合 crontab 或调度平台。
六、常见问题 FAQ
-
DataX 是什么? 离线异构数据源同步工具。
-
支持哪些数据源? MySQL、Oracle、HDFS、Hive、HBase、PostgreSQL、MaxCompute 等。
-
怎么安装? 下载 tar.gz 解压即用。
-
任务配置在哪? JSON 文件,定义 reader 与 writer。
-
怎么限速? 在 setting 中设置 channel 速度。
-
商业版? 阿里云 DataWorks 数据集成。
七、跳转链接
- GitHub 仓库:alibaba/DataX
- 介绍:DataX-Introduction
- 使用手册:userGuid