Kettle字段合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kettle字段合并相关的知识,希望对你有一定的参考价值。

将数据源A库中的某张表或某几个表中的字段合并后的数据插入到数据库B中。

我们在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的字段“surname”和“name”合并后的数据插入到数据表userB中。

create database testA; use testA; create table `userA`( `id`int(10) primary key, `surname` varchar(10), `name` varchar(50), `age` int(3) )ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into userA values(1,张,三丰,30); insert into userA values(2,李,四光,28); insert into userA values(3,王,小米,22); create database testB; use testB; create table `userB`( `idB`int(10) primary key, `nameB` varchar(50), `ageB` int(3) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

操作步骤

1、运行软件,进入主界面。点击左上角的 文件 → 新建 → 转换新建一个转换,并保存,转换的后缀名为ktr。

Kettle字段合并_数据库

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

Kettle字段合并_数据库_02

Kettle字段合并_数据库连接_03

选择“新建”选项的操作视图

Kettle字段合并_数据_04

选择“新建”选项的操作视图

Kettle字段合并_数据_05

选择“新建数据库连接向导”选项的操作视图 1

Kettle字段合并_数据库_06

选择“新建数据库连接向导”选项的操作视图 2

Kettle字段合并_数据库连接_07

选择“新建数据库连接向导”选项的操作视图 3

注意:如果在点击测试连接时出现下图所示错误,检查我们的安装目录下的lib中是否有对应数据库连接的jar包文件(如mysql的jar文件:mysql-connector-java-5.1.6-bin.jar),下载对应的jar,放到lib文件夹下,重启kettle软件,即可。

Kettle字段合并_数据库连接_08

3、点击面板左侧的 核心对象 ,选择 输入文件夹下的 表输入 并把它拖到右侧的编辑区中。

Kettle字段合并_数据_09

4、双击编辑区的“表输入”图标,编辑数据输入源。

Kettle字段合并_数据_10

5、点击面板左侧的 核心对象 ,选择 脚本文件夹下的 javascript脚本 并把它拖到右侧的编辑区中,按住 shift 画线连接 “表输入”。

Kettle字段合并_数据库连接_11

6、双击编辑区的“javascript脚本”,编辑脚本信息。

Kettle字段合并_数据库连接_12

因为我们需要将 “surname ” 和 “name” 合并成一个完整的姓名,所以,我们只需要在 “java script:”下的输入框中录入一下信息。

//声明一个变量,用户输出合并列生成的姓名 var allName = surname + name;

然后点击 获取变量 自动将我们定义的变量输出到字段栏中,我们可以修改字段名称。

7、点击面板左侧的 核心对象 ,选择 输出文件夹下的 插入/更新 并把它拖到右侧的编辑区中,按住 shift 画线连接 “javaScript脚本”。

Kettle字段合并_数据库_13

8、双击编辑区的“插入/更新”图标,编辑控件内容。

Kettle字段合并_数据库连接_14

用来查询的关键字,此处只选择主键id,表示这里按照id查询,如果此id存在,则更新数据,若不存在则插入数据。

9、到这里,我们最简单的一个插入/更新数据的转换已经建立完成了,点击“校验这个转换”,Kettle会校验并给出简单的报告。没有任何问题。

Kettle字段合并_数据_15

10、点击“运行这个转换”,选择“本地执行”,点击“启动”来执行这个转换。

Kettle字段合并_数据_16

11、转换成功后,我们可以在控制台中看到如下信息。检查本地数据库,数据库A的userA表中的数据已经全部被插入更新到了数据库B的userB表中。

Kettle字段合并_数据库连接_17

Kettle字段合并_数据库连接_18

以上是关于Kettle字段合并的主要内容,如果未能解决你的问题,请参考以下文章

kettle 合并记录步骤中的 关键字段和 比较字段的说明

Kettle合并记录步骤

kettle中的合并记录使用记录

kettle组件-连接

kettle字段改为空

工作中简单的kettle使用