AST
[Hive] Compile 상세 과정 #2 - Optimization 종류와 소스 코드 분석
이전 글에 이어서 Hive의 Compile 상세 과정 중 Optimization의 여러 종류와 Compile 과정의 소스 코드를 분석하도록 하겠습니다. Hive Optimization 종류 Hive는 쿼리를 최종적인 Task Tree로 만들기까지의 Compile 과정에서 여러 종류의 Optimization을 수행합니다. 3가지 종류의 Optimization에 대해서 소개하도록 하겠습니다. CBO (Cost-Based Optimization) Semantic Analyzer가 AST를 OP Tree로 만드는 과정에서의 Optimization. - 참고 링크 : https://cwiki.apache.org/confluence/display/Hive/Cost-based+optimization+in+Hive C..
[Hive] Compile 상세 과정 #1 - 쿼리 변화 과정과 형태
Hive를 이용하면서 Client로부터 제출된 쿼리가 어떻게 MR Job으로까지 변환이 될까라는 궁금증이 항상 있었습니다. 그래서 내부적인 Compile 과정에 대해서 공부를 하게 되었고, 소스 코드를 직접 분석해 봤습니다. 이전에 작성한 [Hive] Hive 아키텍처와 HiveServer2 & Hive Metastore 글을 먼저 읽으면 본 게시글을 이해하는데 도움이 될 겁니다. Hive Architecture Review - 주요 프로세스로 HiveServer2, Metastore 존재 - Driver가 중심에서 컴파일 과정, Task 전달 등 수행. - Hive 쿼리의 변화 과정을 알기 위해선 위 그림의 Compiler 과정을 알아야함. Hive 쿼리 처리 과정 - Hive 쿼리가 최종적으로 Map..