티스토리 뷰

코끼리와 벌??....

아파치 하이브란?

하둡에 저장된 데이터(HDFS)를 SQL을 사용해 쉽게 처리하게 해주는 데이터웨어하우스(DW) 패키지입니다.

 

초기에는 Facebook에서 RDBMS로는 처리하기 힘든  대용량의 데이터를 처리하기 위해 개발했으며 현재는 아파치에 속해있는 오픈소스로 하둡 에코시스템의 일부가 되었습니다.

 

HDFS를 처리하기 위해서는 맵리듀스를 Java나 Python으로 직접 작성해야 하는데 이러한 작업이 오래 걸리기 때문에  SQL만 알면 누구나 HDFS를 처리할 수 있도록 개발되었습니다.

 

하이브에서 사용하는 SQL은 HiveQL이라고 하는 SQL의 일부에 속하는 언어를 사용합니다.

SQL과 거의 비슷하지만 Having절과 같은 일부 기능을 사용하지 못하는 특징이 있습니다.

 

 

 

하둡과 하이브에서의 작동방식을 간략하게 살펴보면 하둡에서 맵리듀스 코드를 바로 전달해주는 것과 달리 하이브에서 HiveQL을 받으면 해당 쿼리를 맵리듀스 코드로 변환하여 줍니다. 결국 하이브는 사용자가 작성하기 더 쉬운 high level 언어를 사용할 수 있게 해주는 것입니다.