tellusboutyourself
하이브(Hive)에 대해 알아보자 본문
활용 관점에서 본 하둡의 단점
- 맵리듀스는 프로그래밍 레벨(자바, 파이썬, 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
'Hadoop' 카테고리의 다른 글
하이브(Hive) 쿼리테스트 (0) | 2024.03.10 |
---|---|
하이브(Hive) 실습 환경 구축 (employee, salaries) (3) | 2024.03.08 |
하이브(Hive) 설치 (1) | 2024.03.08 |
[MapReduce] 파이썬으로 단어 별 빈도수 확인하기 (0) | 2024.03.07 |