Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Apache HIVE

아파치 하이브는 하둡위에 구축된 데이터 웨어하우스(Data warehouse)소프트웨어 프로젝트다. Hive는 하둡과 통합되며, SQL과 유사한 인터페이스를 이용해서 데이터를 질의 할 수 있다. 분산 시스템에서 SQL 응용 프로그램을 실해앟기 위해서는 MR을 이용해서 직접 SQL 쿼리를 구현해야 한다. 하이브를 이용하면 저수준의 쿼리를 구현할 필요 없이 SQL과 유사한 HiveQL을 이용해서 SQL을 추상할 수 있다. 많은 수의 데이터웨어 하우징 응용 프로그램들이 SQL 기반 쿼리로 작동하므로 하이브를 이용해서 이들 응용 프로그램들을 하둡 기반으로 이식 할 수 있다. 하이브는 페이스북이 처음 개발 했으며, 넷플릭스를 비롯한 FINRA와 같은 여러 회사에서 사용하고 있다.

주요 기능

하이브는 HDFS나 AWS S3 파일시스템에 저장된 대량의 데이터셋을 이용 할 수 있다. HiveQL이라는 질의언어를 제공하며, MR, Apache Tez, Spark 작업으로 쿼리를 처리 할 수 있다. 이들 모두 하둡 YARN에서 실행 할 수 있다. 아래는 하이브의 주요 기능이다.
  • Plain Text, HBase, ORC 등의 데이터 저장소 지원
  • DEFLATE, BWT, Snappy 알고리즘을 이용 하둡 에코시스템에 저장된 압축 데이터를 조작 할 수 있다.
  • UDFs(Built-in user-defined functions)로 날짜, 문자열 등의 데이터를 조작 할 수 있다. 하이브는 UDF 세트를 확장하는 것을 지원한다.
  • HiveQL은 MR, Tez, Spark 작업으로 변환된다.
  • 하이브는 메타데이터를 내장된 Apache Derby 데이터베이스에 저장한다. 또한 MySQL와 같은 데이터베이스를 사용 할 수도 있다.