1.新建Java测试类,导出Jar包,放在kettle目录中的libext文件中
package test;
public class Test{
public static final String getMyName(String name){
return name+"12345";
}
}
2.抽数据--经过java处理--输出文件到桌面
import test.Test;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
if (first)
{
first = false;
}
// It is always safest to call createOutputRow() to ensure that your output row's Object[] is large
// enough to handle any new fields you are creating in this step.
//r = createOutputRow(r, outputRowSize);
/* TODO: Your code here. (See Sample)
/ Get the value from an input field
String foobar = get(Fields.In, "a_fieldname").getString(r);
foobar += "bar";
// Set a value in a new output field
get(Fields.Out, "output_fieldname").setValue(r, foobar);
*/
//调用jar
String foobar = get(Fields.In, "ENAME").getString(r); //输入参数
foobar += Test.getMyName("我是谁的水");
get(Fields.Out, "ENAME").setValue(r, foobar);
//获取参数
String AGEField = getParameter("AGE");
get(Fields.Out, "AGE").setValue(r, AGEField); //输出参数
// Send the row on to the next step.
putRow(data.outputRowMeta, r);
return true;
}
kettle调用java代码处理数据
最新推荐文章于 2024-07-22 02:45:50 发布