【ETL工具】DataX + DataXWeb 初使用过程记录

版本:DataX v202309 DataXWeb 2.1.3预发布版

DataX:

Github:https://github.com/alibaba/DataX

功能介绍文档:https://github.com/alibaba/DataX/blob/master/introduction.md

文档上虽然只写了Linux系统,但实际部署Windows也可以

JDK版本使用1.8即可

Python如果环境的版本可以选择的话,可以使用2.6或者2.7,我这边使用的是3.12.5

Maven 3.x是编译时需要的条件

一开始下载的是v202308版本,安装包下载路径:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz

因为要Python3.x,所以替换DataX /bin目录下py文件(替换的文件在:DataXWeb:doc/datax-web/datax-python3/)

由于DataX对Mysql 只支持5.x,但是我这边的Mysql DB是 8.x的

所以下载了v202309的源码,调整代码使其支持mysql 8.x

(修改代码的步骤:https://blog.csdn.net/weixin_41640312/article/details/132019719)

然后按照github中的步骤打包即可

问题:

打包过程中发现oceanbasev10writer报错,项目的libs下缺少特定jar文件,

解决:

去master分支找到了这个jar,下载后复制,即可打包成功(打包过程非常慢,不知道是不是网络的问题)

问题:

创建了Mysql 数据源之间的迁移Job(文档中并没有说mysql的限制版本,也就没有想到支持的Mysql版本这么低)

配置是正确的,但dataX一直报错

解决:

去搜索了一下,才发现版本限制,所以切换了版本

问题:

打包好最新版后,运行Mysql Job还是报错(在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数)

解决:

在打包后的datax\conf\core.json 中core.transport.speed.byte由-1修改为2000000

DataXWeb:

众所周知,DataX是使用Python命令行运行Job的Json文件配置来同步数据源

所以使用DataXWeb来搭配使用

一开始使用的是DataXWeb v2.1.2版本,但是配置字段映射方面有点不太容易理解,就换了最新的版本,也就是2.1.3预发布版

  1. 下载源码

  2. 运行datax-admin&datax-executor(按需修改配置文件)

配置文件都有说明,按照说明配置DB,以及datax.py的路径等即可。

相对来讲新版的配置比旧版更容易理解,但是,页面的数据不是很即使,操作时,还是需要刷新,不知道以后会不会调整

至于DataX创建Job的步骤我就不提了,使用DataXWeb,可以很容易创建一个Job

其他:

附上DataX支持的数据源(github上都有)

DataX的核心架构

Job通过源端切分策略,切分为多个Task,然后调用Schedule模块,根据配置的并发参数等,将Task划分为TaskGroup(默认一个TaskGroup5个Task)

每一个Task中启用一个线程,完成Reader->Channel->Writer流程

相关推荐
atbigapp.com18 天前
采集工具选型调研
datax·数据同步·seatunel
青石路23 天前
异源数据同步 → DataX 为什么要支持 kafka?
datax·kakfa
凉茶冰1 个月前
DataX迁移数据到StarRocks超大表报too many version问题记录
starrocks·python·datax
RestCloud2 个月前
ETL数据集成丨主流ETL工具(ETLCloud、DataX、Kettle)数据传输性能大PK
etl·kettle·datax·数据集成·etlcloud·数据传输·同步性能
青石路2 个月前
异构数据源数据同步 → 从源码分析 DataX 敏感信息的加解密
datax·加解密
灰太狼!!3 个月前
数据集成面试题
数据采集·datax
LavenLiu3 个月前
【实战系列】DataX 是什么及使用场景
数据库·datax
dazhong20123 个月前
ETL可视化工具 DataX -- 简介( 一)
数据仓库·etl·datax
dazhong20123 个月前
ETL可视化工具 DataX -- 安装部署 ( 二)
数据仓库·etl·datax·数据同步工具