데이터 사이언스

[Hadoop] Hive 정의, 특징, 이해하기

메가구글 2023. 3. 30. 21:33

1. Apache Hive 소개

Apache Hive은 Hadoop위에 구축된 데이터베이스로 쉬운 데이터 요약, ad-hoc 쿼리, 큰 데이터셋의 분석이 가능하다. 이러한 데이터는 Hadoop의 호환되는 분산 파일 시스템에 저장되어 있다.

 

2. Hive 특징

  • SQL 같은 쿼리 언어로 MapReduce 코드를 만든다.
  • Facebook에서 개발되었다.
  • H-SQL이라는 언어를 사용한다.
  • 일괄처리(Batch)이다. Not interactive.
  • HBase와 함께 쓰인다.

 

3. Hive가 제공하는 기능

  • 데이터 요약(ETL)을 편하게 하는 도구들이 있다.
  • HDFS에 Ad-hoc 쿼리와 큰 데이터셋의 분석들이 저장된다.
  • 데이터에 구조화를 하는 기법(A mechanism to put structure on this data)
  • Hive Query Language는 SQL 기반이며 쓰는 방식이 SQL과 비슷하다.
  • 쿼리의 빠른 반응을 기대할 수 없다. Hive 쿼리는 데이터 양에 따라 몇 분에서 몇 시간이 걸릴 수도 있다.
  • 확장성 (Hadoop Cluster에 동적으로 머신을 추가한다.)
  • 결함 허용(Falut-tolerance)
  • 거의 모든 파일 형식을 읽고 쓸 수 있음. (제 3자 SerDe, RegexSerDe를 이용하며)

 

4. Hive 라이브러리

  • Hive 라이브러리는 HBase와 통합되어 있다.
  • Hive 라이브러리는 HQL 언어를 포함한다.

 

5. HBase 특징

  • wider-column NOSQL 데이터베이스다.
  • HDFS 데이터에 USE CREATE TABLE을 사용한다.
  • 그리고 Hive와 쿼리한다.

 

6. Hive를 쓰는 이유

  • 분석가인 경우
  • SQL에 익숙한 경우
  • 데이터를 분석하는 작업을 하고 싶을 때
  • 조심해야 되는 부분 
    • JOIN이 기능이 원래 데이터베이스의 기능이 좀 다르다.
    • JOIN을 썼다가 엄청난 자원 낭비를 할 수도 있다.

 

 

참고자료

LinkenIn / Learning Hadoop / Lynn Langit

https://stackoverflow.com/tags/hive/info