当前位置 博文首页 > 你不知道你不知道的事:Kettle简单应用:实现数据迁移

    你不知道你不知道的事:Kettle简单应用:实现数据迁移

    作者:[db:作者] 时间:2021-09-12 12:01

    Kettle实现数据迁移

    下载地址:http://mirror.bit.edu.cn/pentaho/Data%20Integration/

    (JDK1.8才可支持Kettle7.0以后的版本)

    配置环境变量,启动程序

    这里写图片描述

    (变量值根据文件目录而定)

    运行Spoon.bat启动程序

    单表数据迁移

    1. 进入主界面,左上角点击文件-新建-转换保存为demo.ktr

    2. 左侧选择核心对象面板。”在输入文件夹下选择表输入并把它拖动到右侧编辑区。

    这里写图片描述

    1. 双击编辑区的表输入图标,编辑数据输入来源。点击数据库连接右侧的新建按钮,按demo背景中的要求,配置数据库参数。配置后点击测试

    这里写图片描述

    如果报错找不到驱动包,复制oracle的驱动jar文件到ETL(Kettle)的lib目录下(我这里使用的是jdbc7.jar)

    1. 点击获取SQL查询语句”(等待时间较长),选择要迁移的表,点击确定

    这里写图片描述

    选择

    这里写图片描述

    1. 重复以上步骤2,在输出文件夹下选择表输出并把它拖动到右侧编辑区。连线表输入表输出

    这里写图片描述

    ?

    1. 双击编辑表输出,填入目标表名

    这里写图片描述

    要迁移的目标表不能已存在于目标数据库中,除非是表结构相同。

    1. 点击 执行SQL 语句列表,选择执行SQL (已有数据库无需此步骤)

    这里写图片描述

    1. 点击 “运行转换”,直接选择启动

    这里写图片描述

    之后就能看到执行结果

    这里写图片描述

    这里仅是对数据进行迁移,主键、外键、关联信息不会迁移过去,需要后期去目标数据库配置。

    1. 当出现数据中文乱码的时候

    这里写图片描述

    尝试去掉允许简易转换,再进行预览

    这里写图片描述

    查看Oracle数据库的编码格式select userenv('language') from dual;

    多表数据备份

    当要对数据库多张表进行迁移操作的时候,Kettle提供自动生成流程图功能。

    1. 选择工具-向导-复制多表向导

    2. 选择输入的数据库与输出的数据库

    这里写图片描述

    1. 选择要复制的表

    2. 选择Job File文件的存放路径,随意填写(因为可能会生成多个文件,建议放在文件夹内)

    这里写图片描述

    1. 点击Finish,等待约20s即可生成相应的迁移流程图,执行即可完成迁移

    这里写图片描述


    相关资料推荐:

    • 野马大神的kettle入门讲解教程-野马视频 http://www.ukettle.org/thread-5-1-1.html (链接已失效)
    cs