datax使用
一、简介
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。DataX采用了框架 + 插件 的模式,目前已开源,代码托管在github。
二、环境
开发环境:win10,JDK1.8,python3.7,mysql5.7
工具: pycharm2018.3.1
代码:https://github.com/alibaba/DataX
三、测试
配置测试样例:下面我们配置一组 从mysql数据库到另一个mysql数据库。
根据github上拉下来的代码在pychrm里面导入项目
由于datax是基于python2.7做的,我们的环境是3.x所以需要把bin下面的三各文件改一下适配3.x环境。(网上有适配文件自行替换)
- 在job下新建json文件(文件名随意)
根据github上的使用方法写json
根据自己需求查看读写json格式,我们是从mysql读在写入mysql,json如下:
官方json读
官方json写
自己修改后json
{
"job": {
"setting": {
"speed": {
"channel":1
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"rs",
"name",
"sl"
],
"connection": [
{
"jdbcUrl[3] ": ["jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8"],
}
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"username": "root",
"rs",
"name",
"sl"
],
"session": [
"set session sql_mode='ANSI'"
],
"delete from cs_bj1"
],
"connection": [
{
"jdbcUrl[9] ": "jdbc:mysql://127.0.0.1:3306/bjxt?useUnicode=true&characterEncoding=gbk",
"cs_bj1"
]
}
]
}
}
}
]
}
}