02、petaho kettle 插件开发

上一篇文章大概了解了一下kettle 的源码编译过程。这篇开头说什么也要简单的唠叨几句:

kettle经历了这么多年,现在才写这么一篇文章显得很过时,虽然很想冠以kettle8.0的title,但那也不过是自欺欺人罢了。讲插件开发也没什么意义,这东西网上教程一搜一大堆,而且加之plugin的设计模式比较实用,所以在插件开发这块儿,即使4.4版本的插件拿到现在大部分也是可用的。但纵然是这样,国内大部分的ETL工具也是不愿做丝毫的改变,真的是很无奈,图钱不图前呀!

先用一张图科普一下kettle 的插件架构:

从应用的角度上来看,plugins 可以分为以下几种形式:转换(step)插件、任务(job)插件、数据库(database)插件、资源库插件等,这些插件的实现都可以从两个方面出发:1、直接使用源码按照统一插件开发规范进行开发;2、使用插件接口,遵循插件规范来进行开发。

1、直接使用源码按照统一插件开发规范进行开发,这种开发方式的优点很明显 ,不需要做太多的配置,别的插件咋写

你咋写很省心,而且配合源码进行调试,所见即所得。当然缺点也很突出,编译源码很费功夫不说,对资源也是一种严重的浪费。

2、使用插件规范来开发接口,这种是我比较推荐的方式,只要配置文件到位,实现插件也只是分分钟的事。

以下将就上述两种方式进行配置及程序文件解析:

1、基于源码开发

位置:engine\src\main\java\org\pentaho\di\trans\steps,随便建一个文件夹并在该文件夹下新建三个文件:

xxxInput.java(以输入分类为例)、xxxInputData、xxxInputMeta

xxxInput 根据上面接口提供的元数据,来实现步骤的具体功能

xxxInputData 用来存储步骤的临时数据、文件句柄等

xxxInputMeta 提供步骤的元数据并处理串行化

此外还个一个xxxDialog,是Spoon里的图形界面,用来编辑步骤的元数据。直接上图:

配置文件的修改,在kettle-steps.xml中按规范增加一条即可,同时将国际化包放到对应配置文件的路径下即可,

然后即可以看熟悉而令人欢喜的页面,新建转换,打开input(输入)即可以惊奇的发现插件竟然出来了,amazing!

2、基于接口规范的开发

文件什么的都一样,但不需要在kettle-steps.xml文件中进行配置。取而代之的是在xxxInputMeta.java中增加一些注解:

插件项目整体结构

插件开发测试完成后直接打成jar包放到kettle的plugins目录下即可,为了懒省事直接上个图:

over!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值