Kettle中调用用户自定义的jar包

 

ETL工具断断续续的也接触了 Informatica,Kettle, SSIS,个人感觉Info很强大但是也很贵,而且有着一些神秘感。Kettle 4.0版本以来已经有了User  defined java class组件,使用户可以写Java代码 让kettle来调用,这就说明了很多kettle不能处理的东西我们可以通过Java代码来实现,步骤如下:

一:创建Java  Project  

二:导出Jar包

在main方法中测试Java Project方法无误后 ,导出为jar包,如下图所示

三:放入kettle目录lib下面

这里需要注意的是,在网上看到的都是放到 ...\pdi-ce-6.0.1.0-386\data-integration\ libext 下面,这些说的大概是老版本,本人发现在新的版本6.0中根本没有libext这个目录,只有lib目录,那就放在这里吧,结果是正确的

四:在Java Code 组件中引用

 引用分为三个步骤

a : 导入import  自定义包的路径

b : new 一个方法所在的类

c : 用 a.function()的方法调用自定义类

如下图所示:

五:测试

一切就绪后,测试调用的结果,看数据库中的小写字母是不是被转换为大写字母输出了,执行结果如下图

输出结果如下图,kettle已经通过调用自定义的jar包中的function对输入的数据做了转为大写的操作,和理想的效果一样

 

posted @ 2023-08-17 11:47  临沂东哥  阅读(507)  评论(0编辑  收藏  举报