一、Kettle概述
【1】什么是Kettle?
Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
【2】Kettle核心知识
1)Kettle工程存储方式
1、以XML形式存储
2、以资源库方式存储(数据库资源库和文件资源库)
2)Kettle的两种设计
3)Kettle的组成
4)Kettle特点
二、Kettle安装部署
【1】Kettle安装地址
1)官网地址
https://community.hitachivantara.com/docs/DOC-1009855
2)下载地址
https://sourceforge.net/projects/pentaho/files/Data%20Integration/
【2】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)操作流程:
查看MySQL表中的数据:
案例二:使用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');
(4)操作流程:
看MySQL表中的数据
可以看到不仅stu1的数据更新到了stu2中,并且我们自定义的SQL插入操作的数据也存在