SW Engineering/Hadoop

Hive Architecture

SungWookKang 2019. 11. 26. 00:51
반응형

Hive Architecture

 

·       Version : Hive

 

Apache Hive 데이터 쿼리 분석을 제공하기 위해 Apache Hadoop 위에 구축 데이터웨어 하우스 소프트웨어 프로젝트이다. Hive Hadoop 통합되는 다양한 데이터베이스 파일 시스템에 저장된 데이터를 쿼리하기위한 SQL 유사한 인터페이스를 제공한다. 분산 데이터에 대해 SQL 응용 프로그램 조회를 실행하려면 MapReduce Java API에서 기존 SQL 조회를 구현해야한다. HiveJava API에서 쿼리를 구현할 필요없이 SQL 유사한 쿼리 (HiveQL) 기본 Java 통합하는 필요한 SQL 추상화를 제공한다. 대부분의 데이터웨어 하우징 응용 프로그램은 SQL 기반 쿼리 언어와 함께 작동하므로 Hive SQL 기반 응용 프로그램을 Hadoop으로 이식 있도록 도와준다.

·       Apache Hive : https://en.wikipedia.org/wiki/Apache_Hive

 

아래 그림은 Apache Hive Architecture 이다. 크게 Hive Client, Hive Services, Hive Storage 영역으로 나눌 있으며, Meta store, Hive Server, Driver 대해서 살펴본다.

 

 

 

[Meta Store]

Meta Store Hive 구동될때 필요한 테이블의 스키만 구조나 다양한 설정값이 저장된다. 따라서 Hive 구성하는데 가장 중요한 요소이며, Meta Store 장애가 발생할 경우 Hive 정상적으로 구동되지 않는다. Hive Mete Store MySQL, Oracle, PostgreSQL 등에 저장되며, 임베디드(Embedded), 로컬(Local), 리모트(Remote) 3가지 실행모드가 있다.

·       임베디드(Embedded)  : 별도의 데이터베이스를 구성하지 않고 더비DB 이용한 모드이며 한번에 한명의 유저만 접근이 가능하다.

·       로컬(Local) : 별도의 데이터베이스를 가지고 있지만 하이브 드라이버와 같은 JVM에서 동작한다.

·       리모트(Remote) : 별도의 데이터베이스를 가지고, 별도의 JVM에서 단독으로 동작하는 모드이며, 리모트로 동작하는 메타스토어를 HCat서버라고도 한다.

 

 

[Hive Server]

Hive Server Hive 질의하는 가장 앞단의 서버이다. JDBC ODBC 부터 질의를 받아서 이를 Driver 전달하는 역할이다. Hive Server 통해야 권한, 접근성 등을 체크할 있다. Hive Server 상단 박스의 CLI 통할경우 바로 Driver 접속되기 때문에 권한이나 제어를 받지않고 바로 모든 컨트롤이 가능해진다. 따라서 보안을 위해서는 운영모드에서는 사용하지 않는것이 좋다.

 

[Driver]

Driver Hive 엔진으로써 여러 질의에 대해 Optimizer 통해 Hive SQL 연산 방식을 계산하고 MR, Spark 여러 엔진등과 연동하는 역할을 담당한다.

 

 

2019-11-25 / Sungwook Kang / http://sungwookkang.com

 

Hadoop, Hive, 하둡, 하이브, Hive Datawarehouse, 하이브 아키텍처, Hive Architecture

반응형