Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

tellusboutyourself

하이브(Hive)에 대해 알아보자 본문

Hadoop

하이브(Hive)에 대해 알아보자

금서_ 2024. 3. 8. 17:57


활용 관점에서 본 하둡의 단점

  • 맵리듀스는 프로그래밍 레벨(자바, 파이썬, c언어 등)의 개발이 필요하다.
  • 더 쉬운 분석 지원을 위해 SQL을 지원하는 쿼리 엔진이 필요하다.

하이브란?

  • 하둡에 저장된 데이터를 쉽게 처리할 수 있는 데이터웨어하우스 패키지
  • 페이스북에서 매일같이 생산되는 대량의 데이터를 관리하고 학습하기 위해 개발한다
  • SQL과 유사한 쿼리언어를 지원한다.
  • SQL 레벨의 ETL 처리도구로 활용 가능하다.
  • 작성된 쿼리를 내부적으로 MapReduce 형태로 변환한다.
  • 가장 역사가 오래된 SQL on Hadoop 엔진

하이브 서비스

  • CLI (Command Line Interface)

하이브 셀에 대한 명령행 인터페이스

  • Hiveserver

Thrift, JDBC, ODBC 연결자를 사용하는 응용 프로그램은 하이브와 통신하기 위하여 하이브 서버를 필요

  • Metastore

하이브 실행 시 메타 데이터가 저장되는 장소 (MySQL 등)

  • HWI

하이브 웹 인터페이스

 

 

하이브 메타스토어 설정

  • 하이브 기본 디렉토리

hive.metastore.warehouse.dir

  • 임베디드 메타 스토어 사용유무

hive.metastore.local

  • 연결할 메타 스토어 서버

hive.metastore.uris

  • ETC

javax.jdo.option.xxxx

 

 

하이브 vs 데이터베이스

 

[테이블 스키마 검증 시점]

전통적인 데이터 베이스 하이브

데이터를 적재하는 시점에 검증 쿼리 실행 시 데이터 검증
만일 insert 중인 데이터가 스키마에 부합되지 않으면 데이터 거부 데이터의 매우 빠른 적재를 제공 (파일복사나 이동)
컬럼 단위로 색인이 가능하기 때문에 빠른 쿼리 성능을 제공 동일 데이터를 두 스키마로 다루어야 할 때 훌륭한 유연성을 제공

 

[갱신, 트랜잭션, 색인]

  • 하이브는 갱신을 지원하지 않는다
  • 락 매커니즘
    • 주키퍼를 사용하여 테이블과 파티션 수준의 락을 지원한다.
    • 지원 색인
  • 0.7.0부터 특별한 경우를 위한 색인 기능을 제공한다.
    • 컴팩트, 비트맵 타입 지원

 

SQL vs HQL