AWS의 EMR에서 하이브를 이용하다 보면 한번씩 이런 오류가 발생할 때가 있다.
원인은 하이브의 메타스토어 중 VERSION 테이블에 여러개의 정보가 들어가 있어서이다.
해당 테이블에는 버전정보가 하나, 다시말해 1row 만 있어야 하는데
하이브 소스에서 해당 정보가 없으면 insert 하는 로직이 있어서 두개의 정보가 들어가서 오류가 발생한다.
이럴경우 VERSION 테이블에 1번 row 의 데이터외에 나머지 정보는 모두 지워버리면 된다.
하이브의 DB 정보는 hive-site.xml 파일을 확인하면 DB 접속 정보를 알 수 있다.
이 정보를 이용하여 DB에 접속하여 VERSION 테이블의 정보를 지우면 된다.
https://issues.apache.org/jira/browse/HIVE-9543
http://www.openkb.info/2015/09/hive-cli-fails-with-error-metastore.html
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive][error] 하이브의 mysql 커넥터 오류 수정 (0) | 2016.11.24 |
---|---|
[hive] 하이브 테이블의 null 값 표현 (0) | 2016.10.24 |
[hive][EMR] EMR의 하이브 작업이 쓴 파일 확인하기 (0) | 2016.09.30 |
[hive] 하이브의 가상 컬럼(virtual column)을 이용하여 파일 내용 삭제 (0) | 2016.09.30 |
[하이브] 매니지드 테이블과 익스터널 테이블 변경하기 (0) | 2016.09.23 |