一、应用场景
将数据源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最终结果: