ETL技术研究(一)开源ETL工具kettle基本概念

ETL技术研究(一)开源ETL工具kettle基本概念
ETL技术研究(一)开源ETL工具kettle基本概念

ETL技术研究(一)

开源ETL工具kettle基本概念

作者:沈阳

2007-7-18 Kettle(翻译成中文名称应该叫水壶)是开源BI解决方案pentaho的一个子项目,其定位为专业的ETL工具,虽然目前其易用性不是很好,但相对于我们目前使用的其他ETL工具,除了开源免费之外,在功能和稳定性方面还是不错的。

由于整个pentaho平台就是基于java技术开发的,所以kettle也就具备了跨平台的优良传统,编辑出来的ETL包可以放在各种操作系统下顺利执行,这是它最大的优点,同时它与各种数据库的连接是采用JDBC标准,相对于其他使用ODBC、OLE/DB的ETL工具,对数据库的兼容性要好很多。

kettle包括四部分,分别为Chef,Spoon,Kitchen,Pan,听起来名字都比较怪,都是和厨房相关的东西,估计开发者大概都是厨师转行来的 ,那么kettle及其四个组成部分都是什么东东呢,其官方文档的说明是这样的:

Kettle is an acronym for “Kettle E.T.T.L. Environment”. This means it has been designed to help you with your ETTL needs: the Extraction, Transformation, Transportation and Loading of data.

Chef is a graphical user interface for that allows you to design jobs that can be executed with the Kettle tool Kitchen. Kitchen is a job execution engine that is capable of performing a multitude of functions such as: execute transformations, execute jobs, verify file existence, get files using FTP, SFTP, HTTP, ...

Spoon is a graphical user interface that allows you to design transformations that can be run with the Kettle tool Pan. Pan is a data transformation engine that is capable of performing a multitude of functions such as reading, manipulating and writing data to and from various data sources.

Kitchen is a program that can execute jobs designed by Chef in XML or in a database repository. Usually jobs are scheduled in batch mode to be run automatically at regular intervals.

Pan is a program that can execute transformations designed by Spoon in XML or in a database repository. Usually transformations are scheduled in batch mode to be run automatically

at regular intervals.

这里我就不一一翻译了,大概的意思就是说kettle是一个ETL工具,名字是“Kettle E.T.T.L. Environment”的首字母组成的缩写,chef是用来设计job的一个图形用户界面,设计出来的job是用来放到ketchen里面执行的,spoon是用来设计transformation的GUI,然后transformation是放到pan里面执行的,kitchen和pan说白了就是执行我们编出来的ETL包的工具,因为kettle是跨平台的嘛,所以把执行环境独立出来,我是这样理解的。

上面我们提到了job和transformation这两样东西,在kettle中一个ETL包就是一个job,而job是由一个或多个transformation组成的,这个我们可以类比Integration Services2005中将一个ETL包分为数据流和控制流来理解。Transformation中包含数据的输入、输出、转换、连接、聚合及各种判断处理等等,而FTP/HTTP传输文件、调用外部程序、执行transformation 等等则是job的组件。

这一节我们首先介绍了kettle的基本特征及其主要组成部分及相关概念,下一节我们再通过一个实例来了解kettle的基本使用和ETL中常用到的一些基本方法。

参考资料:

ftp:\\133.40.188.87\软件开发室技术交流园地\2007-7-18\Spoon-2.3.pdf

ftp:\\133.40.188.87\软件开发室技术交流园地\2007-7-18\Chef-2.3.pdf

ftp:\\133.40.188.87\软件开发室技术交流园地\2007-7-18\Kitchen-2.3.pdf

ftp:\\133.40.188.87\软件开发室技术交流园地\2007-7-18\Pan-2.3.pdf

相关主题
相关文档
最新文档