dataX使用
说明
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
环境需求
- Linux
- JDK(1.8以上,推荐1.8)
- Python(推荐Python2.6.X)
- Apache Maven 3.x (用于编译安装)
安装
本部分直接下载DataX工具包:DataX下载地址
下载后解压至本地某个目录,进入bin目录,即可运行同步作业:
1 | cd {YOUR_DATAX_HOME}/bin |
自检脚本:
1 | python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json |
还可以使用源码编译安装,git上有详细文档,不在赘述。
使用
对于不同数据库,读写参数不尽相同,可以根据git上的提示自行修改,下文为常用的部分参数
读参数表
参数名 | 解释 | 备注 |
---|---|---|
name | 与要读取的数据库一致 | 字符串 |
jdbcUrl | 数据库链接 | 数组,会自动选择一个合法的链接,可以填写连接附件控制信息 |
username | 用户名 | 字符串,数据库的用户名 |
password | 密码 | 字符串,数据库的密码 |
table | 要同步的表名 | 数组,需保证表结构一致 |
column | 要同步的列名 | 数组 |
where | 选取的条件 | 字符串 |
querySql | 自定义查询语句 | 会自动忽略上述的同步条件 |
写参数表
参数名 | 解释 | 备注 |
---|---|---|
name | 与要读取的数据库一致 | 字符串 |
jdbcUrl | 数据库链接 | 字符串,不和writer一样,可以填写连接附件控制信息 |
username | 用户名 | 字符串,数据库的用户名 |
password | 密码 | 字符串,数据库的密码 |
table | 要同步的表名 | 数组,需保证表结构一致 |
column | 要同步的列名 | 列名可以不对应,但是类型和总的个数要一致 |
preSql | 写入前执行的语句 | 数组,比如清空表等 |
postSql | 写入后执行的语句 | 数组 |
writeMode | 写入方式,默认为insert | insert/replace/update |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 符十三郎!