目录
案例一:把stu1的数据按id同步到stu2,stu2有相同id则更新数据
案例二:使用Job作业方式调度转换操作,并使用SQL插入数据到stu2
可以看到不仅stu1的数据更新到了stu2中,并且我们自定义的SQL插入操作的数据也存在
一、Kettle概述
01 什么是Kettle?
Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
02 Kettle核心知识
1)Kettle工程存储方式
1、以XML形式存储
2、以资源库方式存储(数据库资源库和文件资源库)
2)Kettle的两种设计
3)Kettle的组成
4)Kettle特点
二、Kettle安装部署
01 Kettle安装地址
1)官网地址
https://community.hitachivantara.com/docs/DOC-1009855
2)下载地址
https://sourceforge.net/projects/pentaho/files/Data%20Integration/
02 Windows下安装使用
1) 概述
在实际企业开发中,都是在本地环境下进行Kettle的Job和Transformation开发的,可以在本地运行,也可以连接远程机器运行
2)安装
1)安装JDK
2)下载Kettle压缩包,因Kettle为绿色软件,解压缩到任意本地路径即可(路径不要有中文)
3)双击Spoon.bat,启动图形化界面工具,就可以直接使用了(第一次启动可能有点慢,属于正常现象)
三、Kettle入门案例
案例一
:把stu1的数据按id
同步到stu2,stu2有相同id则更新数据
(1) 将MySQL驱动Jar包放到Kettle的lib目录下,然后重启Kettle
(2) 在mysql中创建两张表stu1、stu2
create database kettle;
use kettle;
create table stu1(id int,name varchar(20),age int);
create table stu2(id int,name varchar(20));
(3) 往两张表中插入一些数据
insert into stu1 values(1001,'zhangsan',20),(1002,'lisi',18), (1003,'wangwu',23);
insert into stu2 values(1001,'wukong');
原始数据如下
最终效果如下
(4) 实战流程如下
案例二
:使用Job作业方式调度转换操作,并使用SQL插入数据到stu2
(1) 使用案例1的表,先清空数据
truncate table stu1
truncate table stu2
(2) 往两张表中插入一些数据
insert into stu1 values(1001,'zhangsan',20),(1002,'lisi',18), (1003,'wangwu',23);
insert into stu2 values(1001,'wukong');