KETTLE JAVA API 实战记录
陈海青(www.chq.name)
2006.07.20
版权所有:陈海青(joson chen) www.chq.name
Copyright (C) 陈海青(joson chen) www.chq.name All Rights Reserved 转载或引用本网版权所有之内容须注明“转自(或引自)chq.name (Junit fans)”字样,
并标明本网站网址http://www.chq.name
引言:最近有个项目需要使用Kettle,但是,经过多方查找,却发现相关的资料和介绍极少,于是根据kettle的文档,费尽周折,终于完成了这篇《KETTLE JAVA API 实战记录》,为避免更多的人走弯路,现在发布出来,供大家参考。
前言:
为什么要用Kettle和KETTLE JAVA API?
Kettle是什么?kettle:是一个开源ETL工具。kettle提供了基于java的图形化界面,使用很方便,kettle的ETL工具集合也比较多,常用的ETL工具都包含了。
为什么使用KETTLE JAVA API:就像kettle文档所说:KETTLE JAVA API : Program your own Kettle transformation,kettle提供了基于JAVA的脚步编写功能,可以灵活地自定义ETL过程,使自行定制、批量处理等成为可能,这才是一个程序员需要做的工作,而不仅是象使用word一样操作kettle用户界面。
KETTLE JAVA API 实战操作记录:
一、 搭建环境 :到http://www.kettle.be网站下载kettle的源码包,加压缩,例如解压缩到d:kettle目录
二、 打开eclipse,新建一个项目,要使用jdk1.5.0,因为kettle的要使用System.getenv(),只有在jdk1.5.0才被支持。提起getenv(),好像有一段几起几落的记录,曾一度被抛弃,现在又被jdk1.5支持了.
三、 建一个class : TransBuilder.java,可以把d:kettle extraTransBuilder.java的内容原样拷贝到你的TransBuilder.java里。
四、 根据需要编辑源码。并需要对原程序进行如下修改,在头部增加:
import org.eclipse.swt.dnd.Transfer;
//这个包被遗漏了,原始位置kettle根目录libswtwin32swt.jar
//add by chq(www.chq.name) on 2006.07.20
(后来发现,不必加这个引用,因为编译时不需要)
五、 编译准备,在eclipse中增加jar包,主要包括(主要依据extraTransBuilder.bat):
libkettle.jar
libextCacheDB.jar
libextSQLBaseJDBC.jar
libextactivation.jar
libextdb2jcc.jar
libextdb2jcc_license_c.jar
libextedtftpj-1.4.5.jar
libextfirebirdsql-full.jar
libextfirebirdsql.jar
libextgis-shape.jar
libexthsqldb.jar
libextifxjdbc.jar
libextjavadbf.jar
libextjconn2.jar
libextjs.jar
libextjt400.jar
libextjtds-1.1.jar
libextjxl.jar
libextktable.jar
libextlog4j-1.2.8.jar
libextmail.jar
libextmysql-connector-java-3.1.7-bin.jar
libextojdbc14.jar
libextorai18n.jar
libextpg74.215.jdbc3.jar
libextedbc.jar
(注意 :下面这个包被遗漏了,要加上。原始位置kettle根目录libswtwin32swt.jar)
libswtwin32swt.jar
六、 编译成功后,准备运行
为使程序不必登陆就可以运行,需要设置环境署文件:kettle.properties,位置在用户目录里,一般在 Documents and Settings用户.kettle,主要内容如下:
KETTLE_REPOSITORY=kettle@m80
KETTLE_USER=admin
KETTLE_PASSWORD=admin
七、 好了,现在可以运行一下了,看看数据是不是已经拷贝到目标表了。
运行时的控制台信息输出、自动生成的Transformation、修改后的程序源码:因论坛长度限制,略,详见www.chq.name--商业智能--kettle
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/59745/viewspace-144086/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/59745/viewspace-144086/