개발이야기
Apache Hive란?
기록하는 백앤드개발자
2024. 10. 29. 10:10
반응형
ㅁ 들어가며
ㅇ 아파치 하이브(Apache Hive)에서 개념적 정리를 위해 아파치 하이브란?(Apache Hive)을 참조하여 정리하였다.
ㅁ 아파치 하이브(Apache Hive)란
아파치 하이브(Apache Hive)는 하둡 환경에서 데이터 웨어하우징을 위한 도구이다. 데이터 분석을 위한 하둡이 탄생하였지만, 복잡한 맵리듀스 코드는 사용하기 어려웠고 테이블과 같은 정규화된 패턴이 없고 파일 혹은 디렉토리 단위로 데이터를 관리하였다. Hive는 이러한 하둡의 환경에서 SQL 기반으로 데이터베이스, 테이블, 파티션과 같은 정규화된 패턴을 제공하였다. 하이브는 SQL에 익숙한 사용자가 하둡의 대용량 데이터를 쉽게 처리할 수 있게 해주는 도구로, 데이터 웨어하우징과 분석 작업에 널리 사용된다.
ㅁ SQL 유사 언어 지원
ㅇ HiveQL을 통해 복잡한 MapReduce 코드 대신 SQL과 유사한 쿼리 사용 가능
ㅁ 데이터 구조화
ㅇ 파일 시스템에 저장된 데이터에 카탈로그와 메타스토어 제공
ㅇ 논리적 데이터베이스, 테이블, 파티션 개념 지원
ㅁ 아키텍처
ㅇ 접근 포인트: CLI, Hive Server, Web UI
ㅇ 드라이버: 쿼리 라이프사이클 관리
ㅇ 컴파일러: 쿼리를 실행 플랜으로 변환
ㅇ 메타스토어: 테이블 스키마, 위치 등 메타데이터 관리
ㅁ 데이터 모델
ㅇ 데이터베이스: 테이블의 그룹
ㅇ 테이블: HDFS 디렉토리와 매핑
ㅇ 파티션: 데이터 분배와 위치 결정
ㅇ 버킷: 해시를 통한 데이터 분할
ㅇ 뷰: 논리적 데이터 구조
ㅁ 성능 최적화
ㅇ 파티션과 버킷을 통한 데이터 스캔 최소화
ㅇ 쿼리 실행 시 필요한 파일만 읽어 처리 속도 향상
ㅁ 함께 보면 좋은 사이트
반응형