기술적 배경 | - Impala는 다음과 같이 Query 요청을 처리하는 노드를 별도로 구성할 수 있고 이를 Impala Coordinator라고 칭하며 모든 Impala Worker(Impala Deamon)은 Impala Coordinator가 될 수 있으며, 별도로 Impala Coordinator를 둘 수 있음
- Impala Coordinator의 주요 역할은 메타데이터를 캐슁하고, 쿼리 플랜을 작성하고, 쿼리를 실행을 관리하는 것임
Image Added - Impala Daemon은 자체적으로 메타데이터를 캐쉬를 가지고 있고, 메타데이터 캐쉬를 관리하는 대상 서비스는 Impala Catalog이며, 이 두 캐쉬는 기본적으로 동기화가 되어야 함
- 동기화가 되어 있지 않다면 테이블이나 컬럼 등의 변경 사항을 탐지하지 못함
- Impala StateStore는 메타데이터 동기화를 요청하는 notification을 담당하여 메타데이터가 변경되었을 때 Impala Deamon에 변경을 요청하는 메시지를 송신함
Image Added - 테이블 생성 등과 같이 메타데이터 변경이 발생하면
- User가 Create SQL을 실행 → 특정 Impala Daemon 또는 Impala Coordinator가 Create SQL을 실행 → 자기 자신의 메타데이터 업데이트 → Impala Catalog 업데이트 → Impala StateStore 통보 → 나머지 다른 Impala Daemon 또는 Coordinator의 메타데이터 업데이트
draw.io Diagram |
---|
border | false |
---|
| |
---|
diagramName | Catalog Update |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
diagramDisplayName | |
---|
lbox | true |
---|
diagramWidth | 1074 |
---|
revision | 1 |
---|
|
|