ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据

最近在项目重构,重构过程中对数据库旧表进行重新设计,去掉一些无用的字段,且新表加入了一些新的字段,现在需要把旧的数据迁移到新的表中,经过一番的折腾,最终选择Kettle(Spoon)实现跨库跨表,迁移不同表结构的数据,此文希望对有类似需求的小伙伴提供一点帮助。

一、Kettle(Spoon)安装及配置

  1. JDK环境配置,不会配置请自行百度JDK配置教程。

  2. Kettle(Spoon)安装
    直接进入Kettle(Spoon)官网下载最新版本,官网地址:https://community.hitachivantara.com/docs/DOC-1009855 。ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第1张图片

  3. 配置 Kettle(Spoon)运行环境
    创建用户变量,变量名输入:PENTAHO_JAVA_HOME;
    变量值输入jdk的安装路径。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第2张图片

  4. 解压下载好的 Kettle(Spoon)工具
    在这里插入图片描述
    在这里插入图片描述

  5. 导入mysql连接驱动(这里以mysql为例)
    在解压路径的lib文件夹下加入mysql驱动包即可。ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第3张图片

  6. 启动 Kettle(Spoon)
    解压文件之后,双击Spoon.bat即可启动 Kettle(Spoon)。ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第4张图片
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第5张图片
    启动后的Kettle(Spoon)。ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第6张图片

二、Kettle(Spoon)迁移不同库不同表结构的数据

  1. 建立转换
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第7张图片

  2. 建立源数据库连接
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第8张图片
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第9张图片

  3. 再次建立目标数据库连接
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第10张图片
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第11张图片

  4. 新建表输入
    从左边面板“核心对象”中选择“输入—>表输入”,鼠标拖拽到右边面板中,如图所示:ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第12张图片

  5. 双击表输入,编辑源库信息
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第13张图片

  6. 阅览一下连接是否正确
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第14张图片
    如上图:若出现报错提示,需要在Spoon的数据库连接中,打开选项,加入一行命令参数:
    zeroDateTimeBehavior=convertToNull,操作如下:
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第15张图片

  7. 新建表输入
    在“核心对象”中,选择“输出—>插入/更新”,鼠标拖动至右边面板。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第16张图片

  8. 编辑插入/更新
    首先将表输入连接插入/更新(选中表输入,按住shift键,拖向插入/更新)。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第17张图片
    然后,双击插入/更新进行编辑,如图:
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第18张图片
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第19张图片
    删除更新字段中目标表没有的字段。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第20张图片
    源表与目标表中字段意义相同,但是字段名不同的字段可以手动进行映射。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第21张图片

  9. 执行数据迁移
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第22张图片
    数据迁移完成。
    ETL工具:Kettle(Spoon)实现跨库跨表迁移不同表结构的数据_第23张图片

你可能感兴趣的:(Kettle)