前言

在业务中,我们会遇到新老平台的数据迁移工作,如果这个时候表字段还有些许的不一样,那我们肯定不能用表数据导入导出功能了,此时,我们便会需要另一个工具,kettle

开始

认识kettle

Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

安装kettle

第一种方式是官网:https://sourceforge.net/projects/pentaho/files/ (但我没找到)

第二种便是我给大家提供:https://pan.baidu.com/s/1muWovbWwa5vllNyAToP98A?pwd=bq9j (百度网盘)

开始使用

安装

在网盘下载的是一个压缩包,我们将它解压在一个目录里(最好是全英文路径)后,在根目录里双击Spoon.bat文件

Snipaste_2024-05-14_17-05-13.png
此时,我们便打开了kettle这款软件

使用

我们新建一个转换

Snipaste_2024-05-14_17-07-46.png
(这里因为我之前用过了,所以界面上有点东西)

输入配置

在输入中双击表输入
Snipaste_2024-05-14_17-09-29.png

右键选择编辑步骤

Snipaste_2024-05-14_17-11-23.png

按照图中所示输入你要作为数据源的数据库信息

Snipaste_2024-05-14_17-13-46.png
输入能查出你要转移数据的sql并且测试是否可以获取到数据

Snipaste_2024-05-14_17-16-13.png
此时我们的数据源就配置好了

输出配置

双击输出里的 插入/更新

Snipaste_2024-05-14_17-19-52.png

此时这两个图形中间会有条线(自动关联上了),如果没有我们只需要按住键盘shift键,然后鼠标点击输入拖动到 插入/更新 即可建立连接,我们此时再右键 插入/更新 ,点击编辑步骤,打开后点击新建

Snipaste_2024-05-14_17-23-53.png

接下来和输入的操作一样,配置数据库的相关信息,我这里就不再展示了,因为和刚刚一样

点击目标表后面的浏览,选择你要把数据输入到哪张表里

Snipaste_2024-05-14_17-26-58.png

在 用于查询的关键字 里将两张表的id作为关联
点击下面的编辑配置两张表字段之间的关联关系(注意,上面的数据库连接要是你刚刚新建的那个数据库连接信息)

Snipaste_2024-05-14_17-31-49.png

kettle,启动

此时,我们便可以点击右上角的启动按钮了

Snipaste_2024-05-14_17-36-10.png
第一次运行会提醒你保存转换,我们找个文件夹将它保存下来就可以了

上面都是小绿点就说明成功了,此时我们便可以去数据库里查看数据了

Snipaste_2024-05-14_17-37-30.png

结尾

看到这里,那么恭喜你,又学会了一门新技巧!
让我们继续加油,一起学习,变成更好的我们

Snipaste_2024-05-14_17-45-21.png