1

2 つの入力があるステップを作成しようとしています。どちらも同じ形式である必要があります。これら 2 つの入力ストリームを使用して処理し、1 つのストリームを出力する必要があります。

以下は、これまでに 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

4

1 に答える 1

0

私は解決策を見つけたようです。ここに小さな「ハウツー」を書きました: http://abhis.ws/display/KKB/Kettle+transformation+step+with+multiple+input+streamsコードは GitHub にあります: https://github .com/adeydas/KettleMultipleStreams .

于 2015-02-18T22:32:29.837 に答える