이번 글에서는 빅데이터 클러스터를 운영하면서 Hive 관련 "Unable to fetch table .null" 에러가 발생했던 경험을 공유하겠습니다.
문제 상황 & 분석 과정
클러스터 운영 중에 특정 Hive Table이 에러가 발생하며 drop을 포함한 모든 명령어가 먹히지 않는 문제가 발생했습니다. 문제 상황은 아래와 같았습니다.
- Hiveserver 정상
- Hive에 접속해 Table 리스트를 보면 존재함
- Hue에서 UI를 통한 Hive Table 조회시 에러 발생
- 문제가 되던 특정 Table에 HQL 수행 시 에러 발생
- 해당 Table drop도 불가능
Failed: SemanticException Unable to fetch table [table_name].null |
해당 문제를 분석한 결과, 기존에 존재하던 Hive Table이 어떠한 문제 또는 의도로 인해 실 데이터가 사라졌지만 Hive metastore에는 아직 Hive Table 정보가 남아있어서 생기던 문제였습니다.
해결 방법
그래서 문제가 되던 Table은 HQL로는 완전 삭제가 불가능하므로 Hive metastore인 RDB에 직접 접속해 Table 정보를 삭제했습니다.
1. Hive metastore DB에 접속
2. 해당 DB에서 Hive database 사용
3. 문제가 되는 Table의 TBL_ID 찾기
4. TBL_ID 값을 이용해 해당 Table 삭제
// mysql 접속
$ mysql -p
// Hive database 사용
$ use {Hive DB};
// 해당 SQL 결과로 Table 정보들이 나옴.
// 그 중 TBL_ID 값 확인
$ select * from TBLS where tbl_name='{Hive table name}';
// Table 데이터 삭제
$ delete from taable_param where tbl_id=xxx;
$ delete from tbls where tbl_name='{Hive table name}';
$ commit
위의 과정을 정상적으로 수행했을 때 Hive 내에서 보이던 문제의 Table은 사라졌습니다.
'Hadoop Ecosystem > Hive' 카테고리의 다른 글
[Hive] IntelliJ로 Runtime Debugging하기 (0) | 2022.11.12 |
---|---|
[Hive] limit 사용 시 leastNumRows 에러 발생 이슈 (0) | 2022.11.04 |
[Hive] Metastore의 heap memory 증가 이슈 해결 과정 (2) | 2022.07.18 |
[Hive] Hive 아키텍처와 HiveServer2 & Hive Metastore (0) | 2022.07.01 |
[Hive] Metastore & MySQL 문제로 Hive Query 실행 안되는 이슈 해결 방법 (0) | 2022.05.04 |