最近在做一些数据迁移相关工作,调研了一些工具,发现DataX是个不错的东西,所以安利给大家。那么DataX是什么呢? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具,实现包括 MySQL、SQL Server、Oracle、PostgreSQL 等各种异构数据源之间高效的数据同步功能。
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。具体介绍请移步DataX介绍
export JAVA_OPTS= -Xms1024m -Xmx1024m
下载后解压至本地某个目录,进入bin目录,即可运行同步作业:
$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py {YOUR_JOB.json}
打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/ ,
{
"job": {
"content": [{
"reader": {
"name": "oraclereader",
"parameter": {
"column": ["*"],
"connection": [{
"jdbcUrl": ["*"],
"table": ["tb1"]
}],
"password": "***",
"username": "***"
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["*"],
"connection": [{
"jdbcUrl": "*",
"table": ["tb1"]
}],
"password": "**",
"preSql": [],
"session": [],
"username": "**",
"writeMode": "insert"
}
}
}],
"setting": {
"speed": {
"channel": "3"
}
}
}
}
相对来说DataX上手使用起来还是比较容易的,但是令楼主比较犯难就是不能在同一个配置文件里面同时写入不同的数据库的表,要想读取多张表并写入就只能单独配置。但是也解决了楼主一些问题。
作 者:haifeiWu
原文链接:https://cloud.tencent.com/developer/article/1333260
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。