이 글에선 하이브의 개념에 대해 살펴보겠습니다.

하이브란?


Apache Hive는 Hadoop을 위한 오픈 소스 데이터웨어하우스 솔루션입니다. 구조화 된 빅데이터를 처리하는 데 사용되며 HiveQL 쿼리를 실행하는 방법을 제공합니다.

기능 및 특징


  • 사용자가 SQL로 쿼리를 작성하면 그것을 자동으로 맵리듀스 작업으로 변경해주는 쿼리 엔진 역할 수행
  • RDBMS와 유사하게 데이터 요약, 임시 쿼리 및 대용량 데이터 분석이 가능하도록 설계된 데이터 분석 플랫폼
  • Hive의 SQL은 사용자 정의 함수 (UDF)와 같은 사용자 정의 분석을 수행하기 위해 자신의 기능을 통합 할 수있는 여러 위치를 사용자에게 제공합니다.
  • 실시간 시스템의 row-level 업데이트에는 사용되지 않습니다.
  • Java, Scala, C #, Python 및 더 많은 언어에서 연결하는 데 사용되는 Beeline 클라이언트를 제공합니다.

데이터 단위


Hive 데이터는 RDBMS와 거의 유사하게 다음과 같이 구성됩니다.

  • Database

    이름 공간은 테이블, 뷰, 파티션, 열 등에 대한 이름 충돌을 방지하기 위해 작동합니다. 데이터베이스를 사용하여 사용자 또는 사용자 그룹에 대한 보안을 강화할 수도 있습니다.

  • Table

    동일한 스키마를 갖는 동종 데이터 단위

  • Partition

    각 테이블은 데이터 저장 방법을 결정하는 하나 이상의 파티션 키를 가질 수 있습니다. 파티션 또한 사용자가 지정된 기준을 충족하는 행을 효율적으로 식별 할 수 있습니다. 

  • Bucket (or 클러스터)

    각 파티션의 데이터는 테이블의 일부 열에 대한 해시 함수 값에 따라 차례로 버킷으로 나뉩니다. 이는 데이터를 효율적으로 샘플링하는 데 사용할 수 있습니다.

+ Recent posts