욱이의 냉철한 공부

[Hadoop, Hive] 빅데이터 Hive 이해하기 본문

데이터엔지니어링/빅데이터 : Hadoop

[Hadoop, Hive] 빅데이터 Hive 이해하기

냉철한 욱 2021. 6. 22. 02:52

 

빅데이터의 유형

1) 구조화 데이터

- 행과 열로 구조화 되어 있다.

- 고객데이터, 업무데이터, 거래데이터 등

- 관계 데이터베이스에 저장

- 앞으로 언급할 관계 데이터베이스 : 오라클-db, my-sql, mariai-db

 

2) 반구조화 데이터

- XML, JSON : 키와 값 구조로 되어있다.

- NoSQL 데이터베이스에 저장

- 앞으로 언급할 NoSQL 데이터베이스 : Mongo-db, Cassndra, Hbase

 

3) 비구조화 데이터 ,빅데이터

- 텍스트, 동영상, 음성

- 하둡(분산처리시스템)에 저장 및 처리

- 앞으로 언급할 하둡에코(합체)시스템 : Hive1, Hive2, Pig, Spark

 

* 하둡 이해하기

https://warm-uk.tistory.com/57

 

 

 

=>이제 하둡에 합체되어 사용하는 Hive에 대해 알아보자!

 


 

 

1. 왜 Hive를 사용하는가?

- MapReduce 작업을 하기 위해 자바로 코드를 만들어야 한다.

- 외부 데이터를 하둡에 넣기 위해 코드 만들기 힘들다.

- 데이터 처리 흐름을 직접 만들어야 한다.

- 서비스 어플리케이션의 데이터 보관소로 사용하기 원한다.

=> 원래 사용하던 db언어 SQL과 유사한 HQL언어를 사용하여 편리하게 하둡을 사용하자!

 

 

2. 하둡의 합체시스템 Hive

- 하둡의 한계를 극복하는 합체 시스템 (코끼리와 합체하자!)

HDFS를 자유롭게 사용하는 것의 한계

MapReduce를 사용하기 위해 자바를 사융해야하는 한계

분석 목적에 더 초첨을 두지 못하는 한계

(하둡의 원래 목적은 데이터 분석이 아니라 포털사이트 검색 엔진을 빠르게 하기 위해서 저장 및 처리 목적으로 만들어진 것이다.)

 

- 합체 시스템은 Hive 말고도 많다.

Hive(벌) 말고 많이 사용하는 합체 시스템은 Pig(돼지)이다.

 

 

3. Hive 무엇인가?

- 하둡에서 동작하는 SQL 프로그램을 구현할 수 있는 Hive는 하둡 기반의 데이터웨어하우스 인프라로, 관계형 데이터베이스에 익숙한 개발자에게 훌륭한 인터페이스 제공

- SQL과 같이 선언적으로 데이터를 처리 가능

- HDFS나 HBase와 같은 빅데이터 원본을 HQL(HiveQL) 질의 언어를 이용하여 분석

- MapReduce 기반의 실행 부분과 데이터가 저장된 공간의 메타데이터 정보, 사용자나 응용 프로그램에서 질의를 입력 받아 실행시키는 실행 부분으로 구성됨.