kettle java 脚本_kettle中使用java代码模块

在kettle使用java代码模块需要注意的一些事项,以防忘记。

首先需要继承processRow方法,跟java的main方法类似,代码从这里开始执行,并且在里边读取跟保存变量。

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws Exception

{

Object[] r = getRow();

if (r == null) {

setOutputDone();

return false;

}

r = createOutputRow(r, data.outputRowMeta.size());

String appid = get(Fields.In, "appid").getString(r);

String appkey = get(Fields.In, "appkey").getString(r);

String city_code = get(Fields.In, "city_code").getString(r);

String date = get(Fields.In, "date").getString(r);

Map body = new HashMap();

body.put("city_code", city_code);

body.put("date", date);

String sign = signRequest(appid, body, appkey);

get(Fields.Out,"sign").setValue(r,sign);

logBasic("sign:"+sign);

putRow(data.outputRowMeta, r);

return true;

}如上,前几行代码不变  读取变量使用

get(Fields.In, "appid");

保存变量使用get(Fields.Out,"sign").setValue(r,sign);

最后不要忘记putRow(data.outputRowMeta, r);及return true;

输入日志可以使用logBasic("sign:"+sign);

上面import java.util.*;

需要的jar包放入kettle安装目录的lib目录下

底下变量名称跟保存变量名称一样,如下图所示

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值