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、至此资源数据库的配置完成。

Kettle学习总结(一),布布扣,bubuko.com

时间: 2024-12-17 09:50:32

Kettle学习总结(一)的相关文章

kettle学习 安装部署简单使用

kettle 学习 工具的安装 Navicat 连接mysql使用 网盘里有 如下图 连接名为数据库名 主机地址 用户名为mysql 数据库用户名 详细在我的有道云 文档:kettle.安装部署简单使用链接:http://note.youdao.com/noteshare?id=804e05b445fa7d509f10dcf756bb2025&sub=21FA8DD4DB8A4D00A179617D66C52634 PL/SQL 连接oracle使用 网盘里有 注意:PL/SQL 安装时如果本地

Kettle 学习笔记

一直用SSIS做ETL,越来越感觉这玩意不是亲生的.因此萌生换ETL工具的想法,不过Kettle社区版没什么调度系统,貌似错误处理也不是很方便,且先了解吧. 本文简略的记录了整个软件的使用流程. 开始 Kettle 的几个子程序的功能和启动方式 Spoon.bat: 图形界面方式启动作业和转换设计器. Pan.bat: 命令行方式执行转换. Kitchen.bat: 命令行方式执行作业. Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行. Encr.bat: 密码加

Kettle学习笔记(七)

好久好久没有写博客了,发现再不写博客我都快忘了我有这个博客了!好了,不说废话了. 最近项目使用kettle的地方比较多,鉴于项目优化的思考决定使用jndi来为kettle脚本设置数据源.这样不仅可以控制连接数,而且可以减少大量的数据库配置,那么我们怎么样才能实现在Web项目中调度配置了jndi的kettle脚本呢?先留下一个伏笔,我们来讲一下kettle支持的jndi. 对了忘了提一句,从笔记七开始kettle的版本升级为5.x.5.x提供很多新的类和组件功能.很好的支持了项目.如果在图形界面上

Kettle 学习之从 .ktr 文件生成transMeta对象

https://github.com/pentaho/pdi-sdk-plugins/blob/master/kettle-sdk-embedding-samples/src/org/pentaho/di/sdk/samples/embedding/RunningTransformations.java 1,在DI设计器中设计好 转换 之后 ,该 转换 会以 .ktr 文件的形式持久存储到本地磁盘.并且Kettle提供了方法调用 使得能从 .ktr 文件解析出 transMeta对象 .而tra

kettle学习(4)

1.kettle在数据库同步表之间的映射 在接口ValueMetaInterface定义了转换的类型,该类型定义了源数据库字段到Java代码的映射 public static final String[] typeCodes = new String[] { "-", "Number", "String", "Date", "Boolean", "Integer", "BigN

user defined java expression报错--kettle学习

软硬件环境:kettle6.1/windows7/                          时间:2016/8/11 问题描述: 使用[利用Janino计算Java表达式]即[userdefined java expression]组件来设计Transformer时报错,错误信息如下: org.codehaus.janino.CompileException:Line 1, Column 24: A method named "length" is not declared

Kettle连接oracle报错--kettle学习

软硬件环境:kettle6.1/oracle11gR2/windows7/redhatlinux           时间:2016/7/28 问题描述: 在kettle第一次连接本机oracle的时候,总是报错,提示"确保安装好jar包",自己就换了一个远程上的linux_oracle,还是提示相同的问题 问题解决: 上网搜索"kettle连接oracle数据库",搜索出来的第一条就是这个问题的解决方法,描述如下: 这是针对oracle10g来说的解决方法,底下有

kettle学习资料

1.kettle资源丰富:kettle中文网 http://www.kettle.net.cn/category/use?tdsourcetag=s_pctim_aiomsg 原文地址:https://www.cnblogs.com/wuzaipei/p/11294253.html

Kettle源码学习(一)——把Kettle项目跑起来

kettle(pentaho data integration),是一款开源的C/S版的ETL工具,最近打算学习一下kettle源码,并自己写一个mini kettle,并改造成基于事件触发的流处理模型,前端欲支持桌面版和Web版. 首先,首要的工作是将kettle工程构建起来,达到能边跑看调试来观察学习源码.笔者采用的是自己构建一个项目,将kettle的相关模块代码和资源文件导入,并添加依赖库的方式,自认为有些不爽,但由于官网github下下来的工程,采用的是ivy构建工具,笔者没办法把依赖都