Apache Hive 소개(Introduction)

Apache Hive 소개(Introduction)

Apache Hive™ 데이터 웨어하우스 소프트웨어는 분산 스토리지에 있는 대규모 데이터셋을 SQL 문법으로 읽고, 쓰고, 관리할 수 있게 해 줍니다.

출처: 문서

본문

Apache Hadoop™ 위에 구축된 Hive는 다음과 같은 기능을 제공해요:

  • SQL로 데이터에 쉽게 접근할 수 있는 도구를 제공해, ETL(추출/변환/적재), 리포팅, 데이터 분석 같은 데이터 웨어하우징 작업을 할 수 있게 해 줍니다.
  • 다양한 데이터 형식에 구조를 부과하는 메커니즘을 제공해요.
  • **Apache HDFS™**에 직접 저장된 파일이나 Apache HBase™ 같은 다른 데이터 스토리지 시스템의 파일에 접근할 수 있게 해 줍니다.
  • Apache Tez™ 또는 MapReduce로 쿼리를 실행해요.
  • HPL-SQL 절차 언어(procedural language)를 지원합니다.
  • Hive LLAP, Apache YARN, Apache Slider로 초(second) 미만의 쿼리 검색을 지원해요.

Hive는 표준 SQL 기능을 제공하며, 분석을 위한 후기 SQL:2003, SQL:2011, SQL:2016 기능들도 많이 포함합니다. Hive의 SQL은 사용자 정의 함수(UDF), 사용자 정의 집계(UDAF), 사용자 정의 테이블 함수(UDTF)로 사용자 코드에 의해 확장될 수도 있어요.

데이터를 저장해야 하는 단일 "Hive 형식"은 없어요. Hive는 쉼표·탭 구분 값(CSV/TSV) 텍스트 파일, Apache Parquet™, Apache ORC™, 그리고 다른 형식들을 위한 내장 커넥터를 제공합니다. 사용자는 다른 형식의 커넥터로 Hive를 확장할 수도 있어요. 자세한 내용은 Developer Guide의 File Formats와 Hive SerDe를 참고하세요.

Hive는 온라인 트랜잭션 처리(OLTP) 워크로드를 위해 설계되지 않았어요. 전통적인 데이터 웨어하우징 작업에 가장 잘 쓰입니다.

Hive는 확장성(Hadoop 클러스터에 머신을 동적으로 추가해 scale out), 성능, 확장성(extensibility), 내결함성(fault-tolerance), 입력 형식과의 느슨한 결합(loose-coupling)을 극대화하도록 설계됐어요.

Hive의 컴포넌트로는 HCatalog와 WebHCat이 있습니다.

  • HCatalog는 Hadoop용 테이블 및 스토리지 관리 레이어로, Pig와 MapReduce를 포함한 서로 다른 데이터 처리 도구의 사용자가 그리드 상의 데이터를 더 쉽게 읽고 쓸 수 있게 해 줍니다.
  • WebHCat은 Hadoop MapReduce(또는 YARN), Pig, Hive 잡을 실행할 수 있는 서비스를 제공해요. HTTP(REST 스타일) 인터페이스로 Hive 메타데이터 작업도 수행할 수 있습니다.

더 알아보기 (Learn more)

Hive는 대규모 배치 데이터 처리에 특화된 SQL-on-Hadoop 도구예요. SQL 표준 호환성, 언어 매뉴얼, HCatalog/WebHCat 문서를 차례로 보면 전체 그림이 잡힙니다.