익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
아파치 하이브
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
Apache Hive(아파치 하이브)는 대량의 데이터 세트를 SQL과 유사한 언어(HiveQL)를 사용하여 분석할 수 있도록 지원하는 데이터 웨어하우스 시스템이다. Hive는 분산 데이터 저장 시스템인 Hadoop과 연계하여 동작하며, 대용량 데이터를 효율적으로 처리하는 데 사용된다. ==개요== Apache Hive는 대량의 데이터 분석을 위해 개발된 데이터 웨어하우스 프레임워크로, 사용자가 SQL과 유사한 언어(HiveQL)를 사용하여 데이터를 질의하고 분석할 수 있도록 한다. Hive는 MapReduce, Tez, Spark 같은 분산 처리 엔진을 통해 실행되며, 주로 비구조화 또는 반구조화 데이터를 분석하는 데 사용된다. ==특징== *'''SQL 유사 언어(HiveQL)''' - 사용자가 친숙한 SQL 형식으로 데이터를 질의할 수 있음. *'''대용량 데이터 처리''' - 페타바이트(PB) 규모의 데이터 처리가 가능. *'''확장성''' - Hadoop과의 통합을 통해 확장 가능한 데이터 저장 및 처리 가능. *'''스키마 온 리드(Schema on Read)''' - 데이터 저장 시 스키마를 강제하지 않으며, 질의 시점에 스키마 적용. *'''다양한 실행 엔진 지원''' - 기본적으로 MapReduce를 사용하며, Spark 및 Tez 엔진도 지원. ==아키텍처== Apache Hive의 주요 구성 요소는 다음과 같다. [[파일:아파치 하이브 아키텍처.png]] *'''Hive 메타스토어(Metastore)''' - 테이블 및 스키마 정보를 저장하는 메타데이터 저장소. *'''Hive 드라이버(Driver)''' - 사용자 질의를 처리하고 실행 계획을 생성하는 역할. *'''HiveQL 프로세서''' - HiveQL을 파싱하고 실행 계획을 생성. *'''실행 엔진(Execution Engine)''' - HiveQL을 MapReduce, Tez, Spark 등의 분산 실행 엔진에서 실행. ==HiveQL== Hive는 SQL과 유사한 HiveQL을 제공하여 데이터를 질의하고 관리할 수 있다. ===테이블 생성=== <syntaxhighlight lang="sql"> CREATE TABLE students ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; </syntaxhighlight> ===데이터 삽입=== <syntaxhighlight lang="sql"> INSERT INTO TABLE students VALUES (1, 'Alice', 22), (2, 'Bob', 23); </syntaxhighlight> ===데이터 조회=== <syntaxhighlight lang="sql"> SELECT * FROM students WHERE age > 21; </syntaxhighlight> ===그룹화 및 집계=== <syntaxhighlight lang="sql"> SELECT age, COUNT(*) FROM students GROUP BY age; </syntaxhighlight> ==Hive와 관계형 데이터베이스의 차이== {| class="wikitable" |+Apache Hive와 RDBMS 비교 |- !항목!!Apache Hive!!관계형 데이터베이스 (RDBMS) |- |데이터 처리 방식||배치 처리||트랜잭션 기반 처리 |- |쿼리 언어||HiveQL (SQL 유사)||SQL |- |스키마 적용 방식||스키마 온 리드 (Schema-on-Read)||스키마 온 라이트 (Schema-on-Write) |- |실행 엔진||MapReduce, Tez, Spark||단일 실행 엔진 |- |주요 용도||데이터 웨어하우스, 빅데이터 분석||OLTP, 데이터 관리 |} ==Apache Hive의 장점== *대량의 데이터를 SQL과 유사한 언어로 쉽게 분석 가능. *다양한 실행 엔진(MapReduce, Tez, Spark) 지원으로 유연한 데이터 처리. *데이터 저장소로 Hadoop HDFS, Amazon S3 등 다양한 스토리지 활용 가능. ==Apache Hive의 단점== *실시간 데이터 처리에 부적합 (Hive는 배치 처리에 특화됨). *관계형 데이터베이스(RDBMS)에 비해 성능이 느릴 수 있음. *트랜잭션 처리가 제한적이며, ACID 기능이 제한적으로 제공됨. ==활용 사례== *대규모 로그 데이터 분석 (예: 웹 로그, 사용자 활동 로그) *데이터 웨어하우스 구축 및 운영 *배치 데이터 처리 및 ETL(Extract, Transform, Load) 작업 ==같이 보기== *[[Apache Hadoop]] *[[Apache Spark]] *[[SQL]] *[[빅데이터 분석]] [[분류:분산 컴퓨팅]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록