Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
impala [Impala 3.2버젼]compute incremental stats db명.테이블명 수행시 ERROR: AnalysisException: Incremental stats size estimate exceeds 2000.00MB. 오류 발생원인및 조치방안
compute incremental stats db명.테이블명 수행시 밞생하는 오류 "ERROR: AnalysisException: Incremental stats size estimate exceeds 2000.00MB."는
inc_stats_size_limit_bytes(default 200Mb)를 초과하여 발생하는 오류입니다.
inc_stats_size_limit_bytes는 table metadata를 update하다가 out of memory가 발생하는 것을 방지하기 위한 값입니다.
아래의 계산식으로 현재 값을 계산할 수 있습니다.
(예, 파티션개수 :1795, 컬럼수 : 588인경우 약 201.3MB가 산출됨)
값을 변경 적용하기 전에 우선 고려할 수 있는 방안은 다음과 같습니다.
1. compute stats방식으로 통계정보 생성
2. 파티션을 줄이기 줄이기(예, 일단위->월단위)
3. 데이터를 삭제하여 물리적인 파티션의 개수를 줄임.
4. table을 여러개로 나누어 테이블당 파티션 개수를 줄임.
*참고
1. 기본 계산식 : 200 bytes * 컬럼수 * 피티션수
2. inc_stats_size_limit_byte값을 변경하면 heap usage에 spike가 발생되어 impala가 crash될 수 있음
3. inc_stats_size_limit_byte변경하려면 impala catalogd및 impalad를 같이 변경해줘야 합니다.