본문 바로가기

오픈소스/pig

PIG - Exceeded max jobconf size


현상

Message: org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.io.IOException: Exceeded max jobconf size: 5591299 limit: 5242880


원인
 Pig의 경우 수행 전에 Script가 import 하고 있는 모드 코드를 expanding하게되는데 이 떄에 이를테면 반복되는 코드를 게임서버별로 동일한 테이블을 가져와서 UNION을 하는 경우에 서버가 100개라면 100개의 동일한 스키마를 가져오는 상황이 발생하므로 최종 JobConf 파일 크기가 5메가를 넘어갈 수가 있다

대안
 최대허용용량을 늘리는 방법은 적절하지 못하며 LOAD 함수에서는 스키마를 정하지 않고 그대로 읽어와서 최종 UNION 이후에 스키마를 강제로 Casting 하는 방법이 유효하다. Pig 특성상 초기에는 선언하는 것으로 스키마가 결정되지만 이후부터는 반드시 강제로 Casting 하지 않으면 제대로 적용되지 않는다.




'오픈소스 > pig' 카테고리의 다른 글

Pig - COGROUP  (0) 2012.11.28
Pig - ROW_NUMBER (RANK)  (0) 2012.11.06
Pig - UPSERT (UPDATE or INSERT)  (0) 2012.11.05