Talend 작업의 OutOfMemory

1694 단어 Talend

개시하다


Talend 작업을 할 때 구성 요소 사용법에 따라 OutOfMemry로 바뀔 수 있으므로 주의해야 할 구성 요소를 요약한 글입니다.

Talend 버전


TalendOpenStudio For DataIntergration v7.2

OutOfMemory 처리 용이


tmap의 Loop 처리



tMap의 Lookop 측에 설정된 데이터는 Main 측의 처리를 시작하기 전에 메모리에 놓고 Main 측의 처리를 시작합니다.
따라서'-Xmxsize'에 지정된 무더기 초과 크기의 데이터를 Loop 측면(여러 Lookp 설정 시 합계)에 설정하면 OutOfMemory가 생성됩니다.
아래 보도에서 말한 바와 같이 "store tempdata"옵션을 사용하면 OutOfMemory를 피할 수 있지만 메모리와 디스크 간의 접근이 성능이 나빠질 수 있다고 볼 수 있다.
tMap으로 메모리 제한 문제 해결
※ DataStage의 JoinStage처럼 사전에 데이터를 정렬하고 순서대로 처리함으로써 메모리에 저장되지 않는 처리는 불가능합니다.

tSortRow



정렬 처리를 위해 결과는 입력된 모든 데이터를 메모리에 저장하는 형태로 바뀌고, 무더기 상한선을 초과한 데이터 양으로 처리하는 상황에서 OutOfMemory가 발생한다.
'sort on disk'옵션을 사용하면 OutOfMemory를 피할 수 있지만, 여전히 퍼포먼스에 신경을 쓴다.

tAggregateRow


OutOfMemory가 되는 원리는 tSortRow와 같습니다.
그러나 tAggregateRow에는 임시 디스크를 사용할 수 있는 옵션이 없습니다.

회피책


OutOfMemory로서의 회피 전략은 주로 다음과 같은 3가지다.
• 실행 시 지정한 무더기 사이즈의 상한선을 높인다 (메모리에 여분이 있으면 유효하다)
· 임시 디스크를 사용하는 옵션을 사용합니다(처리 시간이 넉넉할 경우)
· 상기 처리는 Talend 작업 이외에 실시(PJ규칙 등에서 1Tland 작업의 메모리에 상한이 있는 경우 본 선택의 현실 여부)

끝맺다


이미 실기로 확인했지만 기재 내용이 틀리면 댓글로 남겨주세요.

좋은 웹페이지 즐겨찾기