2016-06-05 2 views
1

주전자 변환 업데이트 단계에서 무시 무시 조회가 어떻게 작동합니까? 일부 데이터를 업데이트하려고하는 변환이 있지만 키 조회가 테이블 데이터와 일치하지 않을 때이 단계에서 자주 오류 메시지가 표시됩니다. 기본적으로Pentaho 주전자 변환 업데이트 : 조회 실패 무시를 사용하는 방법

enter image description here

+1

나는 Pentaho를 한번도 사용하지 않았지만 그렇게하는 사람들을 위해 지금은 똑딱 거리고 있습니까? 그렇지 않다면, 당신이 틱하면 무슨 일이 일어날까요? 오류 메시지 란 무엇입니까? 이제 펜타 호 전문가가 올 때 도움을 줄만한 충분한 정보가있을 수 있습니다. –

+0

체크 박스를 선택하면 어떻게됩니까? 아무것도 의심하지 않습니다. 실패한 조회 행은 자동으로 삭제됩니다. 난 항상 상류로 이러한 것들을 처리하기 때문에 그 확인란을 사용하지 않지만, 그것은 당신에게 의미가있을 수 있습니다. –

답변

0

Update stepKeys to look up the values 패널에 정의 된 키 (IDS)에 따라 (데이터베이스) 기록을 찾습니다. 목표 테이블에 레코드가 없으면 단계는 실패하고 콘솔에 오류를 던집니다. 그것은 목표 테이블의 값을 레코드 스트림의 값과 비교하려고 시도하기 때.에 실패합니다. 비교를 위해 목표 데이터베이스에서 행을 찾지 못하면 실패합니다.

Ignore lookup failures?을 체크하면 단계가 실패하지 않습니다. 특정 실패를 무시하고 다른 들어오는 행을 레코드 스트림에서 계속 처리합니다.

Flag field을 사용하여 조회가 실패했는지 여부를 알 수 있습니다. 이를 사용하여 실패한 모든 ID를 추적하고 콘솔이나 파일에 기록 할 수 있습니다.

예 :이 단계는 ETL이 원본에서 대상 데이터베이스로 매일 증가분을로드 할 때 유용합니다. 원본 데이터베이스에는 일 단위 증가분 [IDs: 1,2,3,4,5,6]이 포함되어 있으며 대상에는 [IDs: 1,2,3,4] 앞에로드 된 대상 만 포함됩니다. 이제 원본에서 데이터를로드하고 (Update step을 사용하여) 대상을 업데이트하는 변환을 실행하면 ID = 5에서 실패합니다. 대상 데이터베이스에서 이러한 레코드를 조회 할 수 없습니다.

또 다른 중요한 옵션은 Skip lookup입니다. 이 옵션을 선택하면 대상 데이터베이스의 행을 조회하지 않고 테이블 값과 레코드 스트림의 들어오는 값을 비교하지 않고 update 문을 직접 실행합니다.

관련 문제