1.数据准备
建立两张数据表,分别为incremental_source和incremental_target,
在MySQL中输入以下代码:
create table `incremental_source` (
`id` int (20),
`name` varchar (60),
`age` int (20),
`create_time` datetime
);
insert into `incremental_source` (`id`, `name`, `age`, `create_time`) values('1','Isabella','18','2019-08-20 13:14:20');
insert into `incremental_source` (`id`, `name`, `age`, `create_time`) values('2','Jack','20','2019-08-21 13:14:21');
insert into `incremental_source` (`id`, `name`, `age`, `create_time`) values('3','Nicholas','22','2019-08-20 13:14:22');
insert into `incremental_source` (`id`, `name`, `age`, `create_time`) values('4','Jasmine','19','2019-08-20 13:14:23');
insert into `incremental_source` (`id`, `name`, `age`, `create_time`) values('5','Mia','20','2019-08-20 13:14:24');
create table `incremental_target_copy` (
`id` int (20),
`name` varchar (60),
`age` int (20),
`create_time` datetime
);
insert into `incremental_target_copy` (`id`, `name`, `age`, `create_time`) values('1','Isabella','18','2019-08-20 13:14:20');
insert into `incremental_target_copy` (`id`, `name`, `age`, `create_time`) values('2','Jack','20','2019-08-21 13:14:21');
insert into `incremental_target_copy` (`id`, `name`, `age`, `create_time`) values('3','Nicholas','22','2019-08-20 13:14:22');
insert into `incremental_target_copy` (`id`, `name`, `age`, `create_time`) values('4','Jasmine','19','2019-08-20 13:14:23');
insert into `incremental_target_copy` (`id`, `name`, `age`, `create_time`) values('5','Mia','20','2019-08-20 13:14:24');
2.打开Kettle工具,创建转换
3.配置表输入控件
双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,具体如图所示。
在SQL框中编写查询数据表incremental_source的SQL语句,然后单击【预览】按钮,查看数据表incremental_source的数据是否成功从MySQL数据库中抽取到表输入流中,具体如图所示。
4.配置插入/更新控件
单击目标表处的【浏览】按钮,弹出“数据库浏览器”窗口,选择目标表incremental_target,具体如图所示。单击【获取字段】按钮,用来指定查询数据所需要的关键字,这里通过比较数据表incremental_target的字段id与输入流里的字段id是否一致为关键条件,更新数据表中的其它字段数据;单击【获取和更新字段】按钮,用来指定需要更新的字段,具体如图所示。