Apache Hive

Apache Hive, infraestructura de data warehouse sobre Hadoop

 

Hive es un software que trabaja sobre clusters de Hadoop creando una capa que permite al desarrollador abstraerse de la gestión de ficheros HDFS y MapReduce mediante operaciones de consulta de datos basadas en SQL, con el lenguaje HiveQL.

Editor de consultas SQL de Apache Hive

Con Hive pueden realizarse consultas de no demasiada complejidad, no permite operaciones transaccionales, y al proporcionar un lenguaje similar al SQL de las bases de datos relacionales para trabajar con grandes cantidades de datos este software es muy adecuado para entornos de data warehouse y analítica. Por estas razones se define a Apache Hive como una infraestructura de data warehouse sobre Hadoop.

Hive fue inicialmente desarrollado por Facebook, aunque ha evolucionado como proyecto open source de Apache, dentro del ecosistema de Hadoop, y actualmente lo utilizan grandes compañías como Netflix o Amazon en Amazon Elastic MapReduce o AWS.

Apache Hive se instala como una herramienta más dentro de una instalación de Hadoop y obviamente necesita que los clústeres de Hadoop estén funcionando para poder trabajar sobre ellos.

Se pueden lanzar consultas a Hive tanto directamente desde un entorno de línea de comandos como desde aplicaciones a través de conectores de datos estándar como JDBC o ODBC. Hay que tener en cuenta que la capa de abstracción que proporciona Hive, aunque puede simplificar mucho el desarrollo de aplicaciones basadas en datos, no es tan eficiente como la utilización directa de MapReduce y gestión de ficheros HDFS, ya que el intérprete hace aumentar considerablemente la latencia de las aplicaciones.