Hive를 이용하면 Hadoop 클러스터를 RDB처럼 쓸 수 있음.

Distributing SQL queries with Hadoop

→ 즉, Hive는 SQL 쿼리를 Mapper와 Reducer로 분해하고, 이를 클러스터 전반에 분배해서 어떻게 실행할지를 알아낸다.

물론, 결과가 즉각적으로 얻어지진 않지만, 단일 DB에서 처리할 수 있는 데이터량 보다, 훨씬 큰 데이터를 처리할 수 있음.

OLAP (Online Analytics Processing) 쿼리는 Java에서 MapReduce를 작성하는 것보다 Hive를 통해 SQL 구문으로 작성하는 것이 훨씬 쉽다. → 간단함의 정도가 다름

Hive는 온라인 분석 목적이 크다. 실시간 처리 등의 작업에는 적합하지 않을 수 있지만, 대용량 데이터 셋에 분석 쿼리를 날리려는 것이면 Hive는 여기에 최적화 되어 있음.

Why not Hive?

Hive는 OLAP 목적으로 만들어졌다. OLTP (Online Transaction Processing)을 위한 것이 아니다. 즉, 높은 처리량과 낮은 대기 시간을 원하는 경우 Hive는 좋은 선택이 되지 않는다. (SQL 쿼리를 MapReduce로 번역해야 하기 때문)

HiveQL