DataX

1.简介

DataX 是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

2.工具安装部署

2.1.安装 jdk1.8

请参考相关 JDK 1.8 的安装配置教程,此处略。

2.2. 安装 python 2.x

请参考相关 Python 2.x 安装配置教程,此处略。

2.3.安装 DataX

步骤1:下载DataX

下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

步骤2:解压安装包到/opt/module下

tar -zxvf datax.tar.gz -C /opt/module/

image

步骤3:增加HighGo数据库reader和writer支持

下载插件解压至plugin下。

下载链接:https://pan.baidu.com/s/1Cqw3Zn9Q_dlsgQZbNcQedQ?pwd=bmde

3.DataX 配置

3.1.编写同步任务 job 配置文件

 下面配置将 mysql 中 mydb 库下的 tb_datax 表的数据同步到 HighGo 数据库 tb_datax 表里,其中 channel 是并发数量。

/opt/module/datax/job/mysql2highgo.json

{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["datax_id","datax_name","datax_code"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://192.168.100.21:3306/mydb?useSSL=false"],
"table": ["tb_datax"]
}
],
"password": "Mysql@123",
"username": "root",
"where": ""
}
},
"writer": {
"name": "highgowriter",
"parameter": {
"column": ["datax_id","datax_name","datax_code"],
"writeMode": "upsert(datax_id)"
"connection": [
{
"jdbcUrl": "jdbc:highgo://192.168.100.101:5866/highgo?currentSchema=datax",
"table": ["tb_datax"]
}
],
"password": "Qwer@1234",
"postSql": [],
"preSql": [],
"username": "sysdba"
}
}
}
],
"setting": {
"speed": {
"channel": "3"
}
}
}
}

3.2.执行 datax.py

python /opt/module/datax/bin/datax.py /opt/module/datax/job/mysql2highgo.json

3.3.查看执行结果

image