Bigdata, Hive

Jeonghak Cho·2025년 3월 31일

Bigdata

목록 보기
10/30

📗HIVE 소개

Hive는 Apache Hadoop 위에서 동작하는 데이터 웨어하우스 시스템으로, 대용량 데이터 분석을 위해 SQL과 유사한 HiveQL(Hive Query Language)을 제공하는 도구이다. Hive는 주로 배치 처리와 데이터 웨어하우스 쿼리에 사용되며, Hadoop의 MapReduce, Tez, Spark 같은 실행 엔진을 백엔드로 활용할 수 있다.
Hive는 기존 Hadoop 환경에서 대규모 데이터 분석을 위해 강력한 도구였지만, 속도 및 실시간 분석의 한계 때문에 요즘은 Trino, Iceberg, Delta Lake 같은 기술이 더 많이 활용되고 있다.

🏳️‍🌈 [궁금한점]

  • HIVE를 어디에 사용할까
  • RDBMS 와 차이점은 무엇일까
  • 왜 차세대 기술 ( ICEBERG, DELTA LAKE ) 로 넘어가고 있을까

🔗[목차]

Hive의 주요 특징

SQL 기반 쿼리

  • HiveQL을 사용하여 관계형 데이터베이스와 유사하게 데이터를 다룰 수 있음.
  • 표준 SQL과 비슷하지만 일부 차이가 있음 (예: INSERT INTO보다 INSERT OVERWRITE를 주로 사용).

대용량 데이터 처리

  • 페타바이트(PB) 수준의 데이터를 효율적으로 처리할 수 있음.
  • 주로 배치 쿼리(Batch Query) 용도로 사용됨.

다양한 저장 포맷 지원

  • CSV, ORC, Parquet, Avro 등 다양한 포맷을 지원.
  • ORC와 Parquet은 컬럼형 저장 방식으로, 성능 최적화에 유리.

확장성 및 분산 처리

  • Hadoop과 통합되어 분산된 저장소(HDFS)와 병렬 처리를 활용.
  • MapReduce, Tez, Spark를 실행 엔진으로 사용할 수 있음.

스키마 온 리드(Schema on Read)

  • 데이터를 로드할 때가 아니라 쿼리 실행 시점에 스키마를 적용.
  • RDBMS와 달리, 구조화되지 않은 데이터에도 유연하게 대응 가능.

Hive와 RDBMS 비교

특성HiveRDBMS
쿼리 언어HiveQL (SQL 유사)SQL
실행 방식배치 처리 (느림)실시간 처리 (빠름)
트랜잭션 지원제한적 (ACID 지원 가능)완전한 ACID 지원
저장 방식HDFS 기반 분산 저장로컬 디스크 저장
스키마 적용Schema on ReadSchema on Write

Hive 사용 사례

  • 데이터 레이크에서 대규모 데이터 분석
  • 로그 및 이벤트 데이터 처리
  • BI 및 데이터 웨어하우스 구축
  • ETL (Extract, Transform, Load) 작업

Hive를 대체할 수 있는 최신 기술들

  • Trino (PrestoSQL): 실시간 분석을 위해 더 빠른 SQL 쿼리 엔진.
  • Apache Iceberg: ACID 트랜잭션을 지원하는 데이터 레이크 테이블 포맷.
  • Delta Lake: Apache Spark 기반의 트랜잭션 지원 데이터 레이크.

최신 추세 및 활용 현황

과거에는 Hive가 Hadoop 기반 데이터 웨어하우스의 표준처럼 사용되었지만, 최근에는 더 빠르고 유연한 대체 기술이 등장하면서 Hive의 인기가 점차 감소하고 있다.

성능 문제로 인한 사용 감소

  • Hive는 기본적으로 배치 처리(Batch Processing) 엔진이므로 실시간 쿼리 성능이 느림.
  • 빠른 분석을 원하면 Trino(Presto), Apache Druid, ClickHouse 같은 대안으로 이동하는 경우가 많음.
  • MapReduce를 사용하는 Hive는 거의 사라졌으며, Hive on Tez 또는 Hive on Spark가 주로 사용됨.

클라우드 환경에서는 사용 감소

  • AWS, GCP, Azure 같은 클라우드 환경에서는 Hive 대신 Snowflake, BigQuery, Databricks 같은 관리형 데이터 웨어하우스 솔루션을 더 많이 사용.
  • 클라우드 데이터 레이크 환경에서는 Hive 대신 Iceberg, Delta Lake, Hudi 같은 새로운 테이블 포맷이 대세.

ACID 트랜잭션 지원 개선

  • Hive 3.0 이후부터 ACID 트랜잭션(INSERT/UPDATE/DELETE) 을 지원하지만, 성능 및 사용성이 Iceberg나 Delta Lake보다 떨어짐.
  • 대규모 데이터 레이크에서 ACID를 요구하면 Iceberg, Delta Lake, Apache Hudi가 더 많이 사용됨.

BI 및 데이터 분석 용도로 일부 유지

  • 기존 Hadoop 기반 데이터 레이크를 운영하는 기업에서는 여전히 Hive를 사용하지만, 주요 분석 엔진은 Trino, Spark, Dremio 같은 대안으로 이동 중.
  • Spark SQL과 유사하게 Hive를 Spark의 메타스토어로 활용하는 경우도 있음.

Hive Metastore는 여전히 중요한 역할

  • Hive 자체는 줄어들고 있지만, Hive Metastore(HMS) 는 여전히 Iceberg, Trino, Spark 등에서 테이블 관리용으로 사용됨.
  • 하지만 Iceberg Catalog, Glue Catalog 같은 새로운 메타스토어가 등장하면서 HMS의 의존성도 점차 줄어드는 추세.

Hive 대체 가능한 기술들

기술주요 특징Hive 대체 가능성
Trino (PrestoSQL)빠른 SQL 쿼리, 다중 데이터 소스 지원고속 분석 엔진으로 대체 가능
Apache IcebergACID 트랜잭션, 최적화된 테이블 관리Hive 테이블 대체 가능
Delta LakeSpark 기반, ACID 지원, Time Travel데이터 레이크용 대체 가능
Apache Hudi실시간 데이터 업데이트, Change Data Capture실시간 데이터 레이크 대체 가능
Snowflake / BigQuery클라우드 기반, 서버리스, 실시간 분석완전한 대체 가능 (클라우드 환경)

(참고) AI 로 만든 그림

0개의 댓글