2014-10-30 2 views
0

나는 Pentaho 주전자에 대한 변환 단계를 진행 중입니다. 여러 입력 열을 선택하고이를 기반으로 변환하는 동안 두 개의 새 열을 추가합니다. 나는 (다른 플러그인의 코드를 기반으로) 두 개의 새로운 열을 추가하여 1) 단계의 하위 단계에서이 열을 인식하고 2) 변환 된 데이터를이 열로 푸시 할 수있는 방법을 이해할 수 없습니다. 사전에입력 데이터에 두 개의 추가 열 추가 - Pentaho 주전자

transformation

감사합니다.

+0

변환 스크린 샷을 포함하도록 질문을 편집 해주십시오. –

+0

http://abhi.am/wp-content/uploads/2014/10/tstepkettle11.png –

+0

내 단계는 업스트림에서 행을 수집하고 처리하고 두 개의 열을 추가해야하는 곳에서 작업하는 맞춤 플러그인입니다. 그것을 다운 스트림으로 보냅니다. –

답변

0
당신은 meta.getStepFields를 대체해야 할 수도 있습니다

()에 희망 : 그렇게하는 동안, 는 아래의 내 이미지를 확인 "필드"탭에서 모든 열 이름을 정의이 donot 전달 된 RowMetaInterface에 새로운 ValueMetaInterface 객체를 추가합니다. 이것은 런타임에 열을 추가하는 표준 방법입니다. 그러나 행의 메타 데이터 (ValueMetaInterface 객체 목록)는 행마다 동일해야하며 그렇지 않으면 변형의 다음 단계에서 불만이 제기됩니다.

종종 데이터 기반 사용자 정의 플러그인을 수행 할 때 나가는 행 형식/메타 데이터가 무엇인지 파악하기 위해 getRow()를 사용하여 필요한만큼의 행을 소비하므로 RowMetaInterface (일반적으로 RowMetaInterface putRow() 호출에 전달 될 meta.getStepFields() 사용). 수신 필드를 통과하려는 경우 다음과 같이하십시오.

RowMetaInterface outputRowMeta = getInputRowMeta() .clone();) (

RowMetaInterface outputRowMeta는 = 새로운 RowMeta;

당신이 만드는 경우 새 행이를 사용

어느 쪽이든 meta.getStepFields (outputRowMeta, ...)를 호출하면 outputRowMeta에서 ValueMetaInterface 객체를 추가/변경/제거하여 outputRowMeta에 해당 필드를 채워야합니다. 여기 들어오는 행에 필드를 추가/교체 그루비를 사용하여 블로그 게시물있어

:

http://funpdi.blogspot.com/2014/10/flatten-json-to-key-value-pairs-in-pdi.html

그 사용 사례 여부와 유사한 경우 확실하지. 더 많은 질문이 있으면 ## pentaho의 IRC에서 나를 찾으십시오. (내 닉은 대개 mburgess_pdi입니다.)

0

나는 정확하게 귀하의 질문을 이해했습니다, 나는 당신이 동적 열을 사용하여 출력 파일을 만들려고한다고 생각합니다. 따라서 텍스트 파일 출력 단계에서 "빠른 덤핑"옵션을 선택하여이 작업을 수행 할 수 있습니다.

enter image description here

이 도움이 :)

관련 문제