一、Liunx 上安装DataX
- 查看当前系统版本
- 查看系统的名称,命令:uname
- 查看具体的系统版本,命令:cat /etc/redhat-release
查看是否具备jdk和python环境:
- 查看jdk版本,命令:java -version
- 查看python的版本,命令(大写V):python -V
注意:
- JDK(1.6以上,1.8即可)
- Python(一般2.7都可以)一定要为python2,因为后面执行datax.py的时候,里面的python的print会执行不了,导致运行不成功,会提示你print语法要加括号,python2中加不加都行 python3中必须要加,否则报语法错
DataX下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
- 下载后使用文件传输工具传输到linux上的opt目录下,解压
解压命令:
- DataX自检
解压成功后,进入bin目录,开始自检,命令:
出现以下界面说明DataX安装成功
二、Job作业 JOSN文件配置模板
- “writeMode”: “insert”:表示数据是新增,可改为update,但是表中要有唯一主键
- preSql:预先执行的sql,在其他操作之前执行
三、实操示例:MySql 同步到 MySql
#将mysql dataxhub库下c_jkgl_area表(21行内的查询结果)同步到c_jkgl_area_copy1
为避免MySQL关键字为字段名的情况,而造成DataX报错,column中的字段需用 “ ”双引号包起来。
1、将编辑好后的json文件【job_mysqlTomysql.json】放入安装目录下/datax/job目录
2、再进入datax/bin目录 执行以下命令运行,即可将读库中的表数据写入写库的表中:
3、查询目标表查看
与读出总数一致。
但是中文字段展示为了 ??? 符号。
经排查:连接池地址(url)后要加上:
完整jdbcUrl示例:
MySQL8.0以上版本,url需要添加相关配置
- 指定时区:serverTimezone=Asia/Shanghai
- 指定字符编码:characterEncoding=utf8
- 安全套接字协议:useSSL=false (false:就是通过账号密码进行连接, true:就是一般通过证书或者令牌进行安全验证)
4、完整JSON示例:
完善了jdbcurl
重新执行后,表中中文字段部分展示正常了。
四、实操示例:Oracle 同步到 MySql
1、Oracle表同步到Mysql表 json示例:
2、增量同步参考
oracle同步mysql(全量和增量)
标签:同步,查看,示例,python,DataX3.0,笔记,datax,Linux,DataX From: https://www.cnblogs.com/Williamls/p/17188268.html