HIVE MetaStore

김현태·2022년 3월 24일
0

Hadoop

목록 보기
5/6

Hive 아키텍처

일반적인 SQL문과 유사한 HiveQL을 사용해서 MapReduce를 사용할 수 있게 해줌

실행 과정

  1. Client가 쿼리 실행
  2. Driver가 Compiler에게 쿼리플랜 요청
  3. Compiler가 쿼리를 Mapreduce코드로 변환
    • 이때 Metastore를 통해 MetaData를 가져와서 사용 후 쿼리플랜 생성
  4. 생성한 쿼리플랜을 Execution Engine에 전달
  5. Execution Engine은 Hadoop에 Mapreduce job을 요청 후 결과가 나오면 받아서 전달

Hive MetaStore

저장소 역할의 Metastore Database와 저장소를 연갈하는 Metastore Process가 있음
구성방법에 따라 3가지 형태가 있음

1. Embedded Mode

  • Hive Server, Metastore Process, Metastore Database가 동일 JVM에서 동작
  • 1개의 요청만 처리할 수 있음
  • Metastore Database로는 Derby Database(hive 설치 시 기본으로 설정)사용

2. Local Mode

  • Hive Server, Metastore Process는 동일 JVM에서 작동
  • Metastore Database가 모두 다른 JVM, 다른 서버에서 동작는 다른 JVM 또는 다른 서버에서 동작
  • 한 번에 여러개의 요청 처리 가능
  • Metastore Database로 MySQL, MariaDB등을 사용
  • hive-site.xml 설정

3. Remote Mode

  • Hive Server, Metastore Process, Metastore Database가 모두 다른 JVM, 다른 서버에서 동작
  • Metastore Process가 따로 동작하면서 Hive뿐만 아니라 다양한 Client(Impala, Presto 등)의 요청을 받을 수 있음
  • Client와 Metasotre Process(Server)는 Thrift 통신을 함
  • Metastore Database로 Mysql, mariaDB를 사용
  • hive-site.xml 추가 설정
profile
논리적개발자

0개의 댓글

관련 채용 정보