본문 바로가기
빅데이터/hive

[hive] MSCK REPAIR 처리중 Caused by: MetaException(message:Expected 2 components, got 1) 처리

by hs_seo 2019. 4. 1.

MSCK REPAIR는 하이브에서 테이블의 파티션을 일괄 생성할 때 사용하는 명령어 입니다.

 

테이블의 로케이션의 하위 디렉토리를 검색하여 파티션 정보와 일치하는 디렉토리를 자동으로 파티션으로 추가해주는데

파티션 정보와 다른 디렉토리가 존재하면 아래의 오류가 발생합니다. 2개의 파티션 데이터가 있는 구조인데 한개만 있다고 오류가 발생하였습니다. 

Caused by: MetaException(message:Expected 2 components, got 1)

이 오류를 해결하는 방법은 두가지가 있습니다. 

 

첫번째는 디렉토리를 정리하여 파티션 구조에 맞는 디렉토리와 파일만 놓아두는 것입니다. 

두번째는 다음의 옵션값을 이용하는 방법이 있습니다.

set hive.msck.path.validation=ignore;

이 옵션은 msck를 사용할 때 파티션과 일치하지 않는 디렉토리는 무시하고 지나가게 하는 옵션입니다.

반응형