title: Apache Hive
text: # Apache Hive
  
  Apache Hive es una infraestructura de almacenamiento de datos construida sobre Hadoop para proporcionar agrupación, consulta, y análisis de datos. Inicialmente desarrollado por Facebook, Apache Hive es ahora utilizada y desarrollado por otras empresas como Netflix y la Financial Industry Regulatory Authority (FINRA). Amazon mantiene una derivación de software de Apache Hive incluida en Amazon Elastic MapReduce en sus servicios Amazon Web Services.
  
  # Apache Hive
  ## Características
  
  Apache Hive soporta el análisis de grandes conjuntos de datos almacenados bajo HDFS de Hadoop y en sistemas compatibles como el sistema de archivos Amazon S3. Ofrece un lenguaje de consultas basado en SQL llamado HiveQL con esquemas para leer y convertir consultas de forma transparente en MapReduce, Apache Tez y tareas Spark. Los tres motores de ejecución pueden correr bajo YARN. Para acelerar las consultas, Hive provee índices, que incluyen índices de bitmaps. Otras características de Hive incluyen:
  * Indexación para proporcionar aceleración, tipo de índice que incluye compactación e índices de bitmaps. Otros tipos de índices serán incluidos en futuras versiones.
  * Diferentes tipos de almacenamiento como texto, RCFile, HBase, ORC, y otros.
  * Almacenamiento de metadatos en bases de datos relacionales, lo que permite reducir el tiempo para realizar verificaciones semánticas durante la ejecución de consultas.
  * Operaciones sobre datos comprimidos almacenados en el ecosistema Hadoop usando algoritmos que incluyen DEFLATE, BWT, snappy, etc.
  * Funciones definidas por el usuario (en inglés, user-defined function, UDF) para manipular fechas, textos, y otras herramientas de minería de datos. Hive soporta la extensión de las funciones definidas por el usuario de manera de tratar casos no contemplados.
  * Consultas estilo SQL (HiveQL), las cuales son convertidas automáticamente a MapReduce o Tez, o tareas Spark.
  Por defecto, Hive almacena sus metadatos en una base de datos apache Derby, pero puede ser configurado para usar MySQL.