데이터 사이언스
[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