Buenas noches, mi nombre es Paola Guerrero y junto con mi compañera Carolina
Martinez vamos a explicar sobre Apache hive
APACHE HIVE
Es una infraestructura de almacenamiento de datos construida sobre Hadoop, para
proporcionar agrupación, consulta y análisis de datos, es decir, que aparte de que
podemos almacenar datos que se montan sobre Hadoop, tambien sirve para consultarlos
y analizarlos.
Funciona como si fuera el SQl convencional de una base de datos solamente que en
lugar de trabajar con los datos estructurados en tablas y tablas relacionadas con
columnas y filas trabaja es sobre archivos, no solamente de un solo tipo sino que
maneja archivos con diferentes extensiones.
Inicialmente fue desarrollado por facebook, aunque en la actualidad Apache hive es
utilizada y desarrollada por otras empresas como Netflix y Amazon que actualmente
mantiene una derivacion de Hive incluida en Amazon Elastic Mapredius en sus
servicios de Amazon Web Services.
Es una herramienta bastante util sobretodo si queremos desarrollar una interfaz de
usuario que pueda extraer datos desde HDFS. Basicamente es una capa por arriba de
HDFS que trabaja con los archivos que estan dentro del sistema de ficheros de
Hadoop
ARQUITECTURA
En la primera capa encontramos la interfaz de usuario, esta puede ser una
aplicación web, la línea de comandos de Hive o alguna otra aplicación adicional
dentro de esta capa de interfaz de usuario.
Tenemos tambien la capa MetaStor donde se almacenan los datos, realmente es un
mapeo de lo que hay en HDFS.
Hay dos formas de como trabajar en este metaestor
La primera es como se hizo en el ejemplo que vamos a presentar donde se hace uso de
apache derby que es una base de datos relacional de codigo abierto, en este caso se
hizo uso para hacer pruebas de como funciona Hive, pero lo correcto es configurar
una base de datos puede ser maisql, oracol o lo que mejor convenga para poder
acceder a este metaestor donde se crean estructuras como si fuera una base de datos
relacional con tablas con columnas y registros que realmente están mapeando hacia
lo que es HDFS.
La manera de mapear estos datos es a traves del lenguaje de consultas de HIVE que
se le conoce como HIVE ql o HQL proces engin, esto lo que realiza son procesos a
traves de Mapredius, nosotros configuramos yarn y estos procesos lo que hacen es ya
sea entregarle datos al HDFS o recuperar datos los cuales se entregan a la interfaz
de usuario, de esta manera entonces podemos interactuar con todo nuestro closter
hadoop y consultar miles de millones de registros, gigabaits o de archivos teniendo
en cuenta que no solamente son datos estructurados con un lenguaje sql.
Algunas de las ventajas que brinda Hive es que
Reduce la complejidad de la programación MapReduce al usar HQL como lenguaje de
consulta (dialecto de SQL).
Está orientado a aplicaciones de tipo DataWerhaus, con datos estáticos, poco
cambiantes y sin requisitos de tiempo de respuesta rápida.
Permite a los usuarios despreocuparse del formato y almacenamiento de los datos