Kettle学习总结(一)
最近由于项目的需要,初步涉及到了Kettle的使用,现在将这两周自己使用kettle开发JOB的心得整理一下,与大家一起分享。
一、kettle是什么
Kettle是个ETL工具,主要用来管理不同数据来源的数据,按照一定的方式流出来,最常用的情况,不同系统之间数据的传递,可以使用kettle制作转换JOB来完成。目前由于是纯JAVA语言编写,所以与Java兼容性最好。
Kettle主要包括四个部分:Spoon、Pan、Kitchen以及CHEF;本次总结主要涉及到Spoon和Kitchen,这两个运用比较广泛。其中:Spoon是核心的图形化处理界面,通过拖拽组件,配置组件来完成一系列数据流的转换,Kitchen目前主要是制作bat文件来批处理一些列的JOB,比如说windows系统下的定时任务。
二、Kettle的两种脚本文件
1、transformation:完成针对数据的基础转换。
2、job:完成对整个工作流的控制。
三、资源库的配置(基于4.4.0版本)
资源库主要作用是用来存放在kettle工具上编写的转换和job的。
资源库主要分为两种:
Kettle database repository
Kettle file reposity
一个是数据资源库:将编写的转换和job存放在数据资源库中的对应的表里面,这些表在你配置好数据库资源库时会出现一个执行创建表的sql语句,执行这些sql语句就会完成表的创建。大部分都是创建数据资源库的
另一个是文件资源库:将编写的转换和job存放在文件里面,运用不是很广泛。
下面主要讲解一下MySQL的资源数据库的配置(Oracle配置比较简单,配置的步骤大体相同,而且MySQL这里,对应的资源库表创建有点BUG)
1、点击如图按钮,进入资源库配置界面
2、选择第一个数据库资源配置,点击确定,在出现的界面中选择新建资源数据库
3、配置数据库如下:其中kettle本身自带是没有数据的驱动jar包的, 所以需要手动将jar放置在kettle安装文件的的目录下(D:\Tools\Kettle\data-integration\lib),最后点击Test来测试是否连接成功。
4、如果数据库连接成功的话,直接点击OK键,进行数据库资源表的创建。
5、这里点击创建或者更新,会出现一个弹跳框,框子里面是创建表的sql语句,这里我们不执行,将这些sql语句粘贴复制到数据库处理工具上,直接在数据库中运行(MySQL的创建表的语句在kettle上使用会先报错的,而在数据库中直接运行则不会,另外目前就发现MySQL有这种情况,Oracle则没有)
6、登陆资源数据库,默认的用户名和密码是admin和admin
7、至此资源数据库的配置完成。