处理Kettle步骤的多个输入

时间:2015-01-02 21:04:35

标签: java pentaho kettle pdi

我正在尝试创建一个我有两个输入的步骤。它们都应该采用相同的格式。我需要使用这两个输入流进行处理并输出一个流。

以下是我在processRow()中的代码:

List<StreamInterface> infoStreams = meta.getStepIOMeta().getInfoStreams();

data.oneRowSet = findInputRowSet(infoStreams.get(0).getStepname());
data.twoRowSet = findInputRowSet(infoStreams.get(1).getStepname());

如果它是所有行的第一行和下一行:

data.one = getRowFrom(data.oneRowSet);
data.two = getRowFrom(data.twoRowSet);

if (data.one == null && data.two == null) {
      setOutputDone();
      return false;
}

但是在data.oneRowSet = findInputRowSet(infoStreams.get(0).getStepname());行上,我收到以下错误:The source step to read from [null] couldn't be found

您对此的意见非常有帮助。感谢。

编辑:我在这里添加了一个示例转换和我的步骤的源代码:https://github.com/adeydas/KettleMultipleStreams/tree/develop

1 个答案:

答案 0 :(得分:0)

我似乎找到了解决方案。我写了一个小小的&#34;操作方法&#34;在这里:http://abhis.ws/display/KKB/Kettle+transformation+step+with+multiple+input+streams,代码在GitHub上:https://github.com/adeydas/KettleMultipleStreams