2015-01-02 3 views
1

두 개의 입력이있는 단계를 만들려고합니다. 둘 다 같은 형식이어야합니다. 이 두 입력 스트림을 사용하여 처리하고 하나의 스트림을 출력해야합니다. 다음은 주전자 단계에 대한 다중 입력 처리

내가 processRow() 지금까지 가지고있는 코드 :

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

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

경우 자사의 첫 번째 행과 모든 행에 대해 다음 라인 data.oneRowSet = findInputRowSet(infoStreams.get(0).getStepname());에 그러나

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

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

, I 다음 오류가 발생합니다 : The source step to read from [null] couldn't be found.

당신의 의견은 정말 도움이 될 것입니다. 감사.

편집 : https://github.com/adeydas/KettleMultipleStreams/tree/develop

+0

이것이 작동하지 않는 예제 변환이 있습니까? 어느 단계가 귀하의 단계에 연결되어 있으며, 단계 이름은 무엇입니까? 스푼의 정보 단계 (즉, 홉 화살표의 물음표)로 표시됩니까? – mattyb

+0

두 단계의 CSV 입력 단계가 있습니다. 그들은 정보 단계로 나타나지 않습니다. 그들이 모으는 단계는 내가 만들고자하는 것입니다. 예제 변환은 https://github.com/adeydas/KettleMultipleStreams/blob/develop/multiple_test.ktr이며 소스 코드는 https://github.com/adeydas/KettleMultipleStreams/tree/develop/src/main에 있습니다./java/ws/abhis/kettle –

답변