首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

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

编程知识
2024年09月02日 07:54

ETL:将大量的原始数据,经过抽取(Extract)和清洗转换(Transform)后,加载(Load)到目的端的过程,称为ETL,实现这种过程的工具,也就是ETL工具

版本:DataX v202309  DataXWeb 2.1.3-alpha-release

DataX:阿里云开源的一个异构数据源离线同步工具

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

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

在用户使用指南(https://github.com/alibaba/DataX/blob/master/userGuid.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:个人开发者自行开源的项目

Github:https://github.com/WeiYe-Jing/datax-web

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

所以使用DataXWeb来搭配使用

一开始使用的是DataXWeb v2.1.2版本,但是配置字段映射方面有点不太容易理解,就换了2.1.3-alpha-release

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流程

 

From:https://www.cnblogs.com/uoky/p/18392063
本文地址: http://shuzixingkong.net/article/1652
0评论
提交 加载更多评论
其他文章 PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践
我们在某宝或某多多上抢购商品时,如果只是下了订单但没有进行实际的支付,那在订单页面会有一个支付倒计时,要是过了这个时间点那么订单便会自动取消。在这样的业务场景中,一般情况下就会使用到延时队列。
PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践 PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践 PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践
金九银十来了,你的简历写好了么?
大家好,我是晓凡。 写在前面 时间过得真快,转眼间就来到了九月份。都说金九银十,又到了一年一度的求职跳槽黄金季。 这两年就业环境应该不用我多说了吧,只能用一个惨字来形容。 即使就业环境再怎么不堪,但毕业了工作总要找的,总不可能啃老摆烂吧。 在这竞争激烈的时期,一份优质的简历,无疑是你求职路上的敲门砖
金九银十来了,你的简历写好了么? 金九银十来了,你的简历写好了么? 金九银十来了,你的简历写好了么?
以MySQL为例,来看看maven-shade-plugin如何解决多版本驱动共存的问题?
开心一刻 清明节那天,看到一小孩在路边烧纸时不时地偷偷往火堆里扔几张考试卷子边烧边念叨:爷爷呀,你岁数大了,在那边多做做题吧,对脑子好,要是有不懂的地方,就把我老师带走,让他教您! 前提说明 假设 MySQL 5.7.36 的库 qsl_datax 有表 qsl_datax_source 和 数据
以MySQL为例,来看看maven-shade-plugin如何解决多版本驱动共存的问题? 以MySQL为例,来看看maven-shade-plugin如何解决多版本驱动共存的问题? 以MySQL为例,来看看maven-shade-plugin如何解决多版本驱动共存的问题?
【解决方案】项目重构之如何使用 MySQL 替换原来的 MongoDB
笔者今天要分享的是一个项目重构过程中如何将数据库选型由原来的 MongoDB 改为 MySQL 的思考,涉及到业务当前的痛点、选型分析、解决的核心思路,最后会给出简单的 demo。
【解决方案】项目重构之如何使用 MySQL 替换原来的 MongoDB 【解决方案】项目重构之如何使用 MySQL 替换原来的 MongoDB
WiFi基础(二):最新WiFi信道、无线OSI模型与802.11b/g/n
liwen01 2024.09.01 前言 最近十几年,通信技术发展迅猛,通信标准更新频繁,有的设备还在使用 802.11/b/g/n 协议,有的已支持到 WiFi6、WiFi7。 而国内有关无线 WiFi 的书籍或资料却很少,就算能找着的,大多也是比较老旧。本文试图使用最新的数据来介绍 WiFi
WiFi基础(二):最新WiFi信道、无线OSI模型与802.11b/g/n WiFi基础(二):最新WiFi信道、无线OSI模型与802.11b/g/n WiFi基础(二):最新WiFi信道、无线OSI模型与802.11b/g/n
又一个Rust练手项目-wssh(SSH over Websocket Client)
原文地址https://blog.fanscore.cn/a/61/ 1. wssh 1.1 开发背景 公司内部的发布系统提供一个连接到k8s pod的web终端,可以在网页中连接到k8s pod内。实现原理大概为通过websocket协议代理了k8s pod ssh,然后在前端通过xterm.js
又一个Rust练手项目-wssh(SSH over Websocket Client) 又一个Rust练手项目-wssh(SSH over Websocket Client) 又一个Rust练手项目-wssh(SSH over Websocket Client)
Go plan9 汇编:内存对齐和递归
原创文章,欢迎转载,转载请注明出处,谢谢。 Go plan9 汇编系列文章: Go plan9 汇编: 打通应用到底层的任督二脉 Go plan9 汇编:手写汇编 Go plan9 汇编:说透函数栈 Go plan9 汇编:内存对齐和递归 0. 前言 在 Go plan9 汇编系列文章中,介绍了函数
PyTorch从入门到放弃之张量模块
目录张量的数据类型torch.rand()函数torch.randn()函数torch.normal()函数torch.linspace()函数torch.manual_seed()函数torch.ones()、torch.zeros()、torch.eye()张量的基本操作增加和删除维度交换维度拼
PyTorch从入门到放弃之张量模块 PyTorch从入门到放弃之张量模块 PyTorch从入门到放弃之张量模块