kettle是一个数据清洗工具,可能功能很多,就目前我了解的感觉就是抽取数据,最大的最用就是用来作数据库的定时任务。
kettle是一款免安装的,解压即可试用。
1.spoon.bat 是在window操作系统下使用的
2.spoon.sh 是在linux操作系统下使用的
接下来是创建资源库
点击'+'号并选择第一个选项
显示的弹框点击新建(这里讲的是oracle的连接方式)
//写上要连接的IP
这里要注意,这个数据库名称并不是说是数据库名字,是数据库的sid_name
点击测试,测试通过了再点击确认
接下来就讲讲kettle的用法:
1.数据的导出(kettle就是把数据先导入kettle资源,再进行操作,最后再分配给你要的表,或者是excel或者其他)
首先点击新建转换。
在输入与输出选项中拖出下面的2个选项
表输入就是你要操作的数据的源表。可以点击获取SQL查询语句
可以查询当前数据库下的全部表格,中间的sql可以自动生成也可以手动输入。这个表里面的where BRITHDAY > ? and BRITHDAY < ? 是因为我从其他步骤传来了2个值,这2个问号就是又来接受这2个值的,这里可以不管.
表输出就是你要将数据输出的表格,当你连接数据库了当你在目标表写的表名在数据库不存在就点击下方的sql
就可以创建表格。可以在指定数据库字段那点勾选并点击数据库字段,可以对数据库的字段进行操作。
这里要注意,这里替换SQL语句里的变量勾选是因为我作了定时包括执行每一行?与从步骤插入数据里的选项都是为了定时任务而勾选的,而sql里面的2个问好也是,这是固定的写法。
定时的写法
从输入中拖出下面的选项
获取系统信息里面提供了很强大的各种资源。我在这里定义了2个变量,beginTime与endTime点击类型可以看到有很多的系统信息可以选择。
我在这个地方作的是每天定时抽取前一天的数据,所以就选择了昨天 00:00