ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [HIVE]HIVE란? 1부 - 소개 및 버전별 특징
    데이터 엔지니어링/Hive 2022. 9. 18. 16:53
    반응형

    Hive란?

    • 하둡 에코시스템 중에 데이터를 모델링하고 프로세싱하는 데이터 웨어하우징용 솔루션
    • SQL 유사 언어인 HQL을 도입하여 쿼리를 날려 데이터 조회 및 조작을 할 수 있다.
    • Catalog를 제공하여 RDB 데이터베이스 처럼 조작 가능하다.
    • 메타스토어를 조작할 수 있다
      • 메타스토어가 존재 RDB와는 다르게 미리 스키마를 정의하고 그 틀에 맞게 데이터를 입력하는 것이 아닌, 데이터를 저장하고 거기에 스키마를 입히는 것이 가장 큰 특징
    • Hue와 연계하여 ADD-hoc 쿼리를 실행 시킬 수 있다.

    HIVE 구성요소

    • UI - 사용자가 쿼리 및 기타 작업을 시스템에 제출하는 사용자 인터페이스 (ex : CLI, Beeline, JDBC 등)
    • Driver -쿼리를 입력받고 작업을 처리, 사용자 세션을 구현하고, JDBC/ODBC 인터페이스 API제공
    • Compiler - 메타 스토어를 참고하여 쿼리 구문을 분석하고 실행 계획을 생성
    • Metastore - 디비, 테이블, 파티션의 정보를 저장
    • Execution Engine - 컴파일러에 의해 생성된 실행 계획을 실행

    Hive에서 쿼리를 날렸을 때 실행 순서

    1. UI에서 쿼리를 날린다.
    2. Driver에서 만든 세션에 Plan을 가져온다
    3. Compiler가 메타스토어에서 메타데이터를 가져온다
    4. Plan을 Driver에 보낸다.
    5. Driver는 이 플랜을 실행하고
    6. Execution Engine은 Hadoop에 MR, TEZ를 사용하여 데이터를 처리 후 Execution Engine에 보낸다.
    7. Execution Engine은 결과를 UI에 보낸다

    Hive 버전별 특징

    HIVE 1.0

    • SQL을 이용한 MR처리
    • 파일 데이터의 논리적 표현
    • 빅데이터의 배치 처리를 목표
    • MR engine을 사용

    HIVE 2.0

    • LLAP(Live Long and Process)구조 추가
      • 작업을 실행한 데몬을 계속 유지하여, 핫 데이터를 캐싱하여 빠른 속도로 데이터 처리 가능.
      • LLAP은 작업을 도와주는 보조도구. 실제 작업을 처리하는 MR, TEX같은 작업엔진이 아님.
      • 핫 데이터를 캐싱하는 것이지 영구히 저장하는 것아님
    • Spark지원강화
    • CBO 강화
    • HPLSQL추가 - 오라클 PL/SQL과 같이 반족적인 SQL을 따로 만들어 빼서 사용 가능
    • TEZ엔진이 추가
      • TEZ는 YARN 기반의 비동기 사이클 그래프 프레임 워크
      • 하이브에서 MR대신 실행 엔진으로 사용가능
      • MR은 Map Reduce를 여러번 실행하게 되는데 반복적인 작업을 없애 MR보다 성능이 빠름

    HIVE 3.0

    MR, 하이브 CLI를 제거하고 TEZ엔진과 비라인을 이용하여 작업을 처리하도록 수정

    • 작업 상태 관리(Workload Management)
      • 룰, 권한을 이용한 작업 상태 관리 기능 추가. 오라클 룰 베이스 DB같은 거라고 보면 됨
      CREATE RESOURCE PLAN daytime;
      
    • 트랜잭션 처리 강화
      • 집계 데이터를 개별적으로 테이블로 만들어 집계 데이터 테이블로 조회 가능
      CREATE MATERIALIZED VIEW mv1
      AS
      SELECT empid, deptname, hire_date
      FROM emps JOIN depts
        ON (emps.deptno = depts.deptno)
      WHERE hire_date >= '2016-01-01';
      
    • 메터리얼 뷰 추가
    • 쿼리 결과를 캐싱하여 더 빠른 속도로 작업 가능
    • 테이블 정보 관리 데이터 베이스 추가
      • 3.0 이전 버전에서는 하이브메타스토어에만 확인 할 수 있는 정보 데이터베이스를 통해서 확인 가능
      use information_schema;
      
      use sys;
      

     

     

     

     

     

     

     

     

     

     

     

     

    참고문헌

    https://wikidocs.net/30870#google_vignette

    반응형

    댓글

Designed by Tistory.