Send the row on to the next step.
putRow(data.outputRowMeta, r);
?
return true;
}

调用findInfoRowSet()方法,返回在udjc步骤的消息步骤中定义的名称对应的输入步骤的整个行集内容。从行集内容中读取某行与从主数据流中去某行不同,通过调用getRowFrom(),并显示指明那个行集。
示例转换的名称为info_steps.ktr.
?
使用目标步骤(Target Steps)
使用udjc步骤有时可能需要指定行集流转到不同的目标步骤。通过调用putRow()方法,并传递一个目标步骤作为参数。我们需要在udjc步骤的ui界面的目标步骤中定义所有可能的目标步骤,下面示例中随机分发行数据到不同弄的目标步骤。
findTargetRowSet()方法返回在ui界面中定义的目标步骤行集,并作为putRowto()方法的参数.示例转换的名称为target_steps.ktr.

代码如下:
import java.util.regex.Pattern;
import java.util.*;
?
private RowSet lowProbStream = null;
private RowSet highProbStream = null;
?
public boolean processRow(StepMetaInterfacesmi, StepDataInterface sdi) throws KettleException
{
Object[]r = getRow();
?
if(r == null) {
setOutputDone();
returnfalse;
}
?
//prepare regex and field helpers
if (first){
first = false;
lowProbStream= findTargetRowSet("low_probability");
highProbStream= findTargetRowSet("high_probability");
}
?
//Send the row on to the next step.
if(Math.random() < 0.35){
putRowTo(data.outputRowMeta, r,lowProbStream);
}
else{
putRowTo(data.outputRowMeta, r,highProbStream);
}
?
returntrue;
}

?
更多内容请查看第三部分;