一、所需环境
Windows系统电脑、Python2.7.18(需要配置环境变量)、oracle环境、mysql环境、jdk1.8、navicat、git
python安装下载 https://www.python.org/downloads/release/python-2718/
选择 Windows x86-64 MSI installer
win+x 选择系统 找到高级系统设置 环境变量 在系统变量和用户变量的path上添加
C:\Python27
cmd 运行python,有结果说明安装好了
二、安装Datax
1.下载Datax
http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
2.下载Datax-web服务
https://gitee.com/WeiYe-Jing/datax-web?_from=gitee_search
在d盘新建文件夹 datax-web,右键 git bash here
输入
git clone https://gitee.com/WeiYe-Jing/datax-web?_from=gitee_search
1
回车
Datax-web是在Datax的基础上运行的。
三、验证是否正确datax是否安装
1.打开cmd界面
Win+R
2.设置代码页编号
输入
CHCP 65001
1
防止中文乱码
3.切换到Datax安装目录
切换到安装目录下的bin目录
代码:
d:
cd datax\bin
1
2
4.查看模板
命令行:
python datax.py -r streamreader -w streamwriter
1
5.使用Datax
将相关文件中的oracle2mysql.json放到datax/job下,在bin目录下执行如下代码:
D:\datax\bin>python datax.py ../job/oracle2mysql.json
1
oracle2mysql.json示例
{
“job”: {
“setting”: {
“speed”: {
“channel”: 3,
“byte”: 1048576
},
“errorLimit”: {
“record”: 0,
“percentage”: 0.02
}
},
“content”: [
{
“reader”: {
“name”: “oraclereader”,
“parameter”: {
“username”: “wangdong”,
“password”: “orcl”,
“column”: [
“\”GENDER\””
],
“splitPk”: “”,
“connection”: [
{
“table”: [
“STUDENT”
],
“jdbcUrl”: [
“jdbc:oracle:thin:@127.0.0.1:1521:wd”
]
}
]
}
},
“writer”: {
“name”: “mysqlwriter”,
“parameter”: {
“username”: “root”,
“password”: “root”,
“column”: [
“`email`”
],
“connection”: [
{
“table”: [
“s_employee”
],
“jdbcUrl”: “jdbc:mysql://localhost:3306/student”
}
]
}
}
}
]
}
}
这个json文件里声明了从哪个数据库的哪张表 到哪个数据库的哪张表
四.用navicat连接mysql数据库和oracle数据库
注意打开 win+R 输入services.msc 打开oracle监听
连接oracle时不要以sys登录,要以用户来登录
五.运行datax-web
1.在D:\datax-web\bin\db 目录下找到数据库 ,datax_web.sql。
在mysql数据库中运行这个文件。
2.修改applition.yml等配置。具体看这个
https://www.cnblogs.com/javalinux/p/15016094.html
3.cirl+shift+R 搜索 application.
先运行DataXExecutorApplication,再运行DataXAdminApplication
4.跑起来后,在控制台找到
http://127.0.0.1:8080/index.html
运行
六。操作datax-web
1.登录
账号admin 密码123456
2.找到数据源管理,输入你的两个数据库
3.执行器管理,新建一个执行器。
4.任务构建。
5.执行任务,然后查看日志即可。
注意事项。
1.删除D:\datax\plugin\reader和D:\datax\plugin\writer下所有的以.开头的文件。
2.注意mysql版本的不同,如果你用的是mysql最新版本,可能需要更改驱动
3.oracle的用户需要赋予权限
grant connect,RESOURCE,DBA to yonghu
4.writer有很多不同的模式
在parameter里 “writeMode”:“replace” 这样的话 可以更新。
简单测试
i.2W条简单数据
2022-02-17 14:20:19 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:20:19 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19991
ii.修改十条数据 用时
2022-02-17 14:35:43 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:35:43 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19991
iii.删除十条数据 用时(没删除成功)
2022-02-17 14:45:54 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:45:54 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19971
iv.增加十条数据 用时
任务启动时刻 : 2022-02-17 15:06:20
2022-02-17 15:06:35 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 15:06:35 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19981
————————————————
版权声明:本文为CSDN博主「努力尝试!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43549003/article/details/122986502