하이브 소개와 시작하기
하이브 소개와 시작하기 (Introduction to Apache Hive)
Apache Hive는 분산 저장소에 있는 대용량 데이터를 SQL 문법으로 읽고 쓰고 관리하게 해 주는 데이터 웨어하우스 소프트웨어예요. Apache Hadoop 위에 구축되어, ETL·리포팅·분석 같은 데이터 웨어하우징 작업부터 서브초 단위 조회까지 다양한 용도로 쓰여요.
출처: https://cwiki.apache.org/confluence/display/Hive/Tutorial
Hive가 제공하는 핵심은 이 몇 가지예요. SQL로 데이터에 쉽게 접근하게 해 주는 도구(ETL, 리포팅, 분석), 다양한 데이터 포맷에 구조를 부여하는 메커니즘, HDFS나 HBase 같은 저장소의 파일에 접근하는 기능, 그리고 Apache Tez나 MapReduce를 통한 쿼리 실행이에요. 데이터 저장에 "딱 하나의 Hive 포맷"이 정해져 있지는 않고, CSV/TSV 텍스트 파일, Apache Parquet, Apache ORC 등 내장 커넥터를 지원하며 사용자가 커넥터를 추가로 확장할 수도 있어요.
중요한 구분이 하나 있어요. Hive는 온라인 트랜잭션 처리(OLTP) 워크로드용이 아니에요. 전통적인 데이터 웨어하우징 작업에 가장 적합하게 설계됐어요. 확장성(클러스터에 노드를 더해 스케일아웃), 성능, 확장성, 내결함성, 입력 포맷과의 느슨한 결합을 최대화하는 데 초점을 맞춰요.
Hive의 구성 요소로는 HCatalog와 WebHCat이 있어요. HCatalog는 하둡의 테이블·스토리지 관리 레이어로, Pig나 MapReduce 같은 서로 다른 데이터 처리 도구가 그리드 위의 데이터를 더 쉽게 읽고 쓰게 해 줘요. WebHCat는 HTTP(REST 스타일) 인터페이스로 MapReduce(YARN)·Pig·Hive 잡을 실행하고 Hive 메타데이터 작업을 수행하는 서비스를 제공해요.
Hive를 처음 시작하려면 GettingStarted 가이드에 따라 Hive, HiveServer2, Beeline을 설치해요. HiveQL은 Hadoop 위에서 거대한 데이터셋을 요약·임시(ad-hoc) 조회·분석할 수 있게 하는 SQL이에요. 동시에 사용자 정의 함수(UDF)로 자신만의 분석 기능을 통합할 수 있는 자리가 여럿 있어요.
더 알아보기
- 파일 포맷과 Hive SerDe에 대해 Developer Guide에서 살펴보기
- GettingStarted 가이드로 HiveServer2와 Beeline 설정해 보기