文档章节

KettleEasyExpand

马进举
 马进举
发布于 2017/07/04 19:56
字数 828
阅读 1.6W
收藏 9

精选30+云产品,助力企业轻松上云!>>>

插件简介

一个简化kettle插件开发的通用插件,采用JSON作为参数配置,省去ui调试设计步骤,只需一个类就可以开发一个插件。基于本插件开发的插件将很容易集成到kettle管理平台中去。

设计初衷

该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义功能的实现改为在eclipse等ide中开发。

设计本插件的原因是直接在kettle中写java代码是很不容易的事,开发体验与eclipse差得远,java语法还要受到限制,调试麻烦。实现点简单的逻辑还行,稍微复杂一点就比较麻烦,需要对java和kettle相关接口很熟悉。而简单的功能可以采用javascript脚本实现,复杂的功能一般人很难直接在自定义java类控件中编写java实现。

有人说可以每次直接开发新插件,虽然说java的插件机制还是很不错的,但开发一个插件还是没那么容易的,需要设计元数据,插件件功能实现,插件操作界面设计等,其中操作界面的调整是我最不愿意花时间的,慢慢调我也能调出常见控件的配置界面,但我觉得没必要,所以要实现一个完善的插件需要做的事情还是很多的。

而本插件综合了以上两种机制,既有自定义java类的简单性,直接编写核心业务代码,操作界面统一使用一个JSON对象作为参数设置途径,所以基于此开发功能,只需继承一个基类而编写一个功能实现类就可以了;又有直接开发插件的便捷性,只需将相关的jar包作为用户类库导入项目,创建一个类,继承基类,就可以在eclipse中尽情的编写你的业务代码了。

关键信息

  1. 项目博客地址
  2. 项目源码地址
  3. 问题反馈邮箱:jinjuma@yeah.net。

插件部署

插件开发

环境搭建

  1. 在eclipse中创建用户类库ku,到kettle管理平台项目介绍的博文中下载0.2.0版部署包,然后将部署包的lib目录中的jar全部加入。
  2. 在eclipse中创建用户类库kettleLib,将你的kettle的目录下的lib全部加入。
  3. 在eclipse中创建一个java项目,添加前面创建的两个用户类库到构建路径。
  4. 然后就可以新建一个java类,按后面的步骤进行插件开发了。

作业插件开发

示例代码

image

转换插件开发

示例代码

image

插件调试

  1. kettle源码运行讲解
  2. kettle源码工程
下一篇: kettle-manager
马进举

马进举

粉丝 54
博文 6
码字总数 8000
作品 1
遂宁
私信 提问
加载中
此博客有 1 条评论,请先登录后再查看。
Kettle系列: 马进举开源的Kettle通用插件 KettleEasyExpand

扩展Kettle功能, 经常使用 user defined java class 组件, 或者自己开发Java插件. 两种方式都有各自的痛点: 1. 在user defined java class 组件中写java代码, 该环境没有代码自动提示, 没有语...

osc_x4rg8g6r
2018/04/23
46
0

没有更多内容

加载失败,请刷新页面

加载更多

没有更多内容

题解-洛谷P4724 【模板】三维凸包

洛谷P4724 【模板】三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积。 数据范围:\(1\le n\le 2000\)。 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积的讲解。 三位向量的...

osc_srnunz15
10分钟前
0
0
关于RNN (循环神经网络)相邻采样为什么在每次迭代之前都需要将参数detach

关于RNN (循环神经网络)相邻采样为什么在每次迭代之前都需要将参数detach 这个问题出自《动手学深度学习pytorch》中RNN 第六章6.4节内容,如下图所示: 当时看到这个注释,我是一脸懵逼,(...

osc_rl6hs0bo
11分钟前
0
0
为什么 wait 方法要在 synchronized 中调用?

作者:Yujiaao https://segmentfault.com/a/1190000019962661 一个有难度的 Java 问题,wait 和 notify。 它们是在有 synchronized 标记的方法或 synchronized 块中调用的,因为 wait 和 no...

Java技术栈
11分钟前
0
0
【退役贴】真·蒟蒻的acm感悟&回忆

窝是一只打过铁费了很大力气仍然只能大四拿铜的辣鸡的辣鸡的辣鸡…… 窝是一只打过铁费了很大力气仍然只能大四拿铜的辣鸡的辣鸡的辣鸡…… 窝是一只打过铁费了很大力气仍然只能大四拿铜的辣鸡...

osc_sqfqhs81
12分钟前
14
0
查询反模式 - GroupBy、HAVING的理解

为了最简单地说明问题,我特地设计了一张这样的表。    一、GROUP BY单值规则   规则1:单值规则,跟在SELECT后面的列表,对于每个分组来说,必须返回且仅仅返回一个值。   典型的表现...

osc_n87a5jpv
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部