说明
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
Github:https://github.com/alibaba/DataX
使用说明:https://github.com/alibaba/DataX/blob/master/userGuid.md
下载和使用
环境:Linux+JDK+Python2/3
1. 下载
直接下载编译好的完整包:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz
下载后,在Linux上解压,并进入目录cd datax
2. 编写job定义json
数据格式,直接在Github文档中复制
例如:MySQL->PostgreSQL
vi job/job_mysql_postgresql.json
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "root",
"column": [
"id",
"name"
],
"splitPk": "db_id",
"connection": [
{
"table": [
"table"
],
"jdbcUrl": [
"jdbc:mysql://127.0.0.1:3306/database"
]
}
]
}
},
"writer": {
"name": "postgresqlwriter",
"parameter": {
"username": "xx",
"password": "xx",
"column": [
"id",
"name"
],
"preSql": [
"delete from test"
],
"connection": [
{
"jdbcUrl": "jdbc:postgresql://127.0.0.1:3002/datax",
"table": [
"test"
]
}
]
}
}
}
]
}
}
3. 运行job
python bin/datax.py job/python bin/datax.py job/api_bank_log_job.json
2024-03-13 03:09:01.915 [job-0] INFO JobContainer -
任务启动时刻 : 2024-03-13 15:08:51
任务结束时刻 : 2024-03-13 15:09:01
任务总计耗时 : 10s
任务平均流量 : 469.98KB/s
记录写入速度 : 2921rec/s
读出记录总数 : 29218
读写失败总数 : 0