关于kettle的插件开发

关于kettle的插件开发

在kettle插件开发注意4个接口
StepDataInterface,StepMetaInterface,StepInterface,StepDialogInterface。
然后就是你想做什么插件?

我重点讲一下自己对StepInterface接口的方法的使用和理解。
StepInterface也是插件开发的最终的步骤

比如输入,输出插件(数据清洗插件或这数据格式转换插件差不多是二者的综合)就就有不同的差异
比如下面StepInterface接口processRow()方法
对该方法说明一下,处理每一行数据数据直到 setOutputDone()方法的调用。才结束循环调用processRow()方法。每一次就处理一行数据,横着的那种。

//输入插件,将其他数据读取到kettle里面
if(first){
	Object[] row = load() //自定义的加载方法
	 putRow(data.outputRowMeta, row );
}
//如果是输出插件
if(first){
	throw new kettleException("输出步骤不能是第一步")
}else{
	Object[] row = getRow();
	save(); //自定义存储插件
}

而且还要注意这里的row是每次一行数据!
在这里插入图片描述
比如这个
row=new String{“23”,“name”,“student”,“15776750834”,“zhangsan”}
而且没有表头,所有我们在获获取数据的时候,注意顺带获取表头数据。valueMetaList就是表头。
对了,忘了说一个对象也是输入,输出差异比较大的一点RowMetaAndData,行meta对象和data对象。行对象是用于两个插件数据传输的对象。也是写入写出的对象。在输入的时候,你需要new RowMetaInterface,给后面的人使用。而在输出的时候,你要接受前面传过来的RowMetaInterface,同时你需要处理后 然后在传一个RowMetaInterface给后面(如果后面还有,没有了,可以懒得传)
也就是可以理解为一个为outputRowMeta,inputRowMeta的两个对象,输入输出对象

   data.outputRowMeta = getInputRowMeta().clone();
   List<ValueMetaInterface> valueMetaList = data.outputRowMeta.getValueMetaList();
。
结束了,懒得写了,因为其他的重点还没发现,后面需要在该
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值