适用场景
datax配合datax_web可进行 1 历史数据迁移;2 亿万数据大库切成小库等数据抽取的场景操作。
(更适合全量数据的场景,增量建议用canal,datax也可实现每日同步数据)
一 官方文档
datax https://github.com/alibaba/DataX/blob/master/introduction.mdgithub.com
datax-web https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md
使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南-InfoQ
二 环境准备
windows python环境 datax项目 datax_web项目
我个人电脑环境
win10
python3.8.5 (或可python2环境)
datax项目 链接:https://pan.baidu.com/s/1KfRU5SJas0C94x84W6s5IQ 提取码:9aok (里面有一些使用说明)
datax_web项目 链接:https://pan.baidu.com/s/1cNcMqdQwdRJxABBBUNE2qA 提取码:xpaj
三 项目相关配置
1 datax项目
1.1 先配置 D:dataxjob 目录下的job中的reader、writer。就理解成用navicat新建mysql连接
1.2 在D:dataxin 目录下cmd 运行 datax.py 脚本,即可运行成功。
输入命令如:python D:dataxin>python D:dataxindatax.py D:dataxjobjob.json
运行如图:
运行成功后如下图:
注意:python2环境python3环境运行适配的脚本版本有所不同,可在官网下载。 官网python3脚本下载路径 datax-web/doc/datax-web/datax-python3 at master · WeiYe-Jing/datax-web · GitHub
2 datax_web项目
2.1 修改配置
D:IdeaProjectsdatax-webdatax-adminsrcmain esourcesapplication.yml
修改数据源配置
修改邮箱配置(可选)
修改打印日志配置
D:IdeaProjectsdatax-webdatax-executorsrcmain esourcesapplication.yml
修改端口、日志路径等相关配置
D:IdeaProjectsdatax-webdatax-adminsrcmain esourcesootstrap.properties
2.2 需要启动两个Application
DataXAdminApplication DataXExecutorApplication
2.3 打开网址
打开 http://10.1.28.108:8080/index.html 即可访问。
成功运行如图:
四 任务从开始到运行
1 项目管理中创建项目
2 执行器管理中新建执行器(建议采用手动录入的方式)
3 数据源管理中新建数据源
4 任务管理中Datax任务模板创建
5 任务构建
构建成功后会自动在任务管理中添加一个任务。 这时候可以打开进行编辑,内容如下
没啥问题就点击操作按钮
点击执行一次,之后点击查询日志即可看job的运行情况。
注意:如果重复执行会报存在脏数据,主键唯一。执行到一半停止再次执行的情况,正在测试。
6 任务批量构建
点击下一步就会批量创建完成。之后也可在任务管理中进行job的调整等。
五 datax性能优化和job中的参数说明