LanguageManual Explain
LanguageManual Explain
쿼리의 실행 계획(execution plan)을 확인하는 EXPLAIN 문장을 다루는 문서예요. 옵션에 따라 물리적 실행 계획, 비용 기반 최적화(CBO) 계획, AST, 의존성, 인증 정보, 락, 벡터화 정보까지 다양한 관점으로 쿼리를 분석할 수 있습니다.
출처: 문서
본문
EXPLAIN 문장은 쿼리를 실제로 실행하지 않고 실행 계획을 보여 줍니다. 구문은 다음과 같습니다.
구문:
EXPLAIN [EXTENDED|CBO|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] query
옵션 설명:
| 옵션 | 설명 |
|---|---|
| (옵션 없음) | 물리적 실행 계획(physical execution plan)을 보여 줍니다 |
| EXTENDED | 기본 실행 계획에 추가 정보(스키마, 경로 등)를 포함해 더 자세히 보여 줍니다 |
| CBO | 비용 기반 최적화(Cost-Based Optimization)가 만들어 낸 계획을 보여 줍니다 |
| AST | 쿼리의 추상 구문 트리(Abstract Syntax Tree)를 보여 줍니다 |
| DEPENDENCY | 쿼리가 의존하는 입력들에 대한 정보를 보여 줍니다 |
| AUTHORIZATION | 쿼리를 실행하기 위해 필요한 권한(authorization) 정보를 보여 줍니다 |
| LOCKS | 쿼리 실행에 필요한 락(lock) 정보를 보여 줍니다 |
| VECTORIZATION | 벡터화(vectorized) 실행 계획 및 실행 여부를 보여 줍니다 |
| ANALYZE | 실제로 쿼리를 실행한 뒤 통계와 함께 실행 계획을 보여 줍니다 |
예제:
EXPLAIN SELECT * FROM src WHERE key = 100;
기본 옵션을 사용하면 아래와 같은 형태의 실행 계획이 출력됩니다. 출력에는 STAGE DEPENDENCIES, STAGE PLANS, 그리고 각 단계의 Map Operator Tree/Reduce Operator Tree 같은 세부 정보가 포함됩니다.
참고 사항:
EXPLAIN EXTENDED는 더 상세한 출력을 제공하지만, 출력 양이 매우 커질 수 있습니다.EXPLAIN AUTHORIZATION는 쿼리 실행에 필요한 Hive 권한(사용자, 그룹, 롤 기반)의 목록을 확인하는 데 유용합니다.
더 알아보기 (Learn more)
- SELECT 문 — 실행 계획을 확인해 볼 대상 쿼리 작성법.
- LanguageManual — Hive 언어 매뉴얼 목록.