Kettle应用场景之数据表插入

一、应用场景

    将数据源A库的某张表的数据插入到数据库B中的某张表中

1.创建Mysql数据库testA,切换数据库至testA,创建表tableA:


2.创建Mysql数据库testB,切换数据库至testB,创建表tableB:


3.我们最终的目的,就是将数据库testA中的表tableA中的数据导入数据库testB中的空表tableB中。

4.打开Kettle软件,windows下双击如下图标:


出现如下画面


稍等片刻,软件打开,如图:


二、开始操作

1).点击文件-->新建-->转换

2).点击面板左侧的主对象树,选择DB连接,右键,选择新建或新建数据库连接向导,分别创建对数据库testA和数据库testB的连接。



点击下方测试


同上继续创建


最终结果如图:


(注:如果在点击测试时出现错误提示如图)


则说明缺少Mysql驱动包。

下载驱动包:https://dev.mysql.com/downloads/file/?id=468318%20

将此驱动包解压后放在Kettle安装目录下,如D:\soft\pdi-ce-7.0.0.0-25\data-integration\lib,也可放在Kettle安装目录下的D:\soft\pdi-ce-7.0.0.0-25\data-integration\libswt\win64

重启Kettle。

 3).点击面板左侧的核心对象,选择输入文件夹下的表输入,按着鼠标左键不放,将表输入拖拽至右侧的编辑区



4).双击编辑区的表输入图标,编辑数据输入源。


数据库连接部分,选择我们要使用的数据源,点击获取SQL查询语句


双击tableA


选择是


点击确定。

5).点击面板左侧的核心对象,选择转换文件夹下的字段选择,并把它拖拽至右侧的编辑器中


6).将鼠标放在右侧编辑器tableA表输入图标,按住shift键不丢,鼠标从testA表输入到字段选择画一条直线。


7).双击编辑区的字段选择,选择元数据面板,点击获取改变的字段,将自动列出输入表中所有字段,根据要抽取的目标表中的字段名,给每一个输入字段修改为对应的输出字段(注:此时必须在Encoding栏中选择输出库的编码格式)


8).点击面板左侧的核心对象,选择输出文件夹下的输出表并拖拽至右侧的编辑区中,按住shift划线连接字段选择


9).双击编辑区的表输出图标,编辑数据输出目标

10).勾选指定数据库字段,选择数据库字段,点击输入字段映射,映射输入输出关系。



11).因为我们在“字段选择”中修改了每个输入字段对应的输出字段的名称,此处,我们点击猜一猜,将会自动根据字段近似度自动匹配映射关系。


12).到这里,我们最简单的一个提取数据的转换已经建立完成了,点击“校验这个转换”,Kettle会校验并给出简单的报告。没有任何问题。


13).点击运行这个转换,选择本地执行


点击启动来执行这个转换


选择是

保存到本地,文件以ktr结尾,下方会出现执行过程

14).检查本地数据库,数据库testA的tableA表中的数据已经全部被导入到了数据库testB的tableB表中。

注:此例只适合目标表为空,或者目标表与源表没有主键冲突的情况。

tableB最终结果: