Refer to http://programmer.blog.51cto.com/2859493/1164002
1. Create a new Java test class, export the Jar package, and put it in the libext file in the kettle directory
package test;
public class Test{
public static final String getMyName(String name){
return name+"12345";
}
}
2. Extract data--processed by java--output file to desktop
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 calls java code processing
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326399099&siteId=291194637
Recommended
Ranking