一、Kettle的安装

1、需要安装jdk ,注意jdk的版本要和你运行的kettle的版本要匹配

Kettle的使用 - 图1

安装的时候,其实是安装了两个软件 jdk 和 jre

Kettle的使用 - 图2

配置环境变量:

Kettle的使用 - 图3

最好这个环境变量的名字是 JAVA_HOME ,不要写成其他的名字。因为这个地方的名字不仅仅是kettle在使用。

Kettle的使用 - 图4

2、解压pdi

Kettle的使用 - 图5

pdi这个软件是绿色版的。

Kettle的使用 - 图6

1) 将这个Spoon.bat 在桌面上创建一个快捷方式

2)修改字符集

Kettle的使用 - 图7

3)每次运行的时候,建议使用管理员去运行。

Kettle的使用 - 图8

二、案例

1、将txt数据导入到excel 中

选择 【转换】—> 【新建】,拖拽 【文本文件输入】和 【Excel输出】,摁住shift键,拖拽连接两者。

Kettle的使用 - 图9

Kettle的使用 - 图10

Kettle的使用 - 图11

Kettle的使用 - 图12

Kettle的使用 - 图13

Kettle的使用 - 图14

Kettle的使用 - 图15

Kettle的使用 - 图16

Kettle的使用 - 图17

运行该脚本:

Kettle的使用 - 图18

Kettle的使用 - 图19

Kettle的使用 - 图20

虽然得到了结果,但是数据格式有点不满意

Kettle的使用 - 图21

Kettle的使用 - 图22

Kettle的使用 - 图23

再次运行,查看效果:

Kettle的使用 - 图24

2、案例二 将excel表格中的数据导入到mysql中

Kettle的使用 - 图25

Kettle的使用 - 图26

Kettle的使用 - 图27

Kettle的使用 - 图28

Kettle的使用 - 图29

新建数据库:kettle2201

Kettle的使用 - 图30

Kettle的使用 - 图31

如果出现如下错误:

Kettle的使用 - 图32

:::color2 如果报了错:某个类找不到,这个类又不是你写的,就是别人写的,意思是少包,缺少jar

此时说明缺少驱动包—mysql连接的驱动包

:::

Kettle的使用 - 图33

拷贝到 pdi这个软件的lib 目录下:

Kettle的使用 - 图34

然后重启 kettle 这个软件,关掉,再进入就是重启了。

再次连接,依然报错,错误如下:

Kettle的使用 - 图35

这个错误是mysql的时区所导致的。方案很多,建议大家使用如下方案:

Kettle的使用 - 图36

Kettle的使用 - 图37

此时,kettle帮助我们写了一个创建表的语句,需要进行微调:

  1. CREATE TABLE t_user
  2. (
  3. id varchar(255)
  4. , name varchar(30)
  5. , age int
  6. , gender int
  7. , province varchar(30)
  8. , city varchar(30)
  9. , region varchar(30)
  10. , phone varchar(11)
  11. , birthday DATE
  12. , hobby varchar(255)
  13. , register_date datetime
  14. )
  15. ;

运行这个脚本:

Kettle的使用 - 图38

为了方便以后连接数据库,可以将我们本地的数据库连接进行一次共享,以后就可以重复使用了。

Kettle的使用 - 图39

3、案例三 将mysql的数据导入到mysql

假如有一个表 t_user , 如果t_user中的数据发生变化,会将新的变化同步给 第二个表,相同的id 只保留一份数据。

Kettle的使用 - 图40

Kettle的使用 - 图41

Kettle的使用 - 图42

最后的结果不是我们想要的效果,而应该是这样的布局:

Kettle的使用 - 图43

Kettle的使用 - 图44

第一次测试,修改 t_user表中的数据,执行,发现 t_user3 这个表中的数据也发生了变化,说明更新成功。

第二次测试,在t_user表中新增一条数,执行脚本,发现t_user3中也新增一条数据。

4、案例四

假如现在我的mysql中的数据想根据性别导出,性别为男的导出到一个excle表格中,性别为女的导出到另一个excle表格中

Kettle的使用 - 图45

表输入设置:

Kettle的使用 - 图46

switch 设置:

Kettle的使用 - 图47

将两个excel表格的位置说明一下即可。

5、案例五

执行sql脚本

Kettle的使用 - 图48

Kettle的使用 - 图49

6、Job的使用

新建 —> 创建 【作业】

Kettle的使用 - 图50

Start的设置:

Kettle的使用 - 图51

设置转换:

Kettle的使用 - 图52

Kettle的使用 - 图53

通过Job 可以完成非常复杂的逻辑架构流程:

Kettle的使用 - 图54