Tutorial de Apache Hive Ultimate para principiantes: aprenda Hive desde cero

Publicado: 2020-03-20

Apache Hive es un sistema de almacenamiento de datos de código abierto construido sobre Hadoop. Se utiliza para consultar y analizar grandes conjuntos de datos almacenados en archivos Hadoop. Este tutorial de Apache Hive lo ayudará a comprender sus conceptos básicos, características y uso.

En la era digital, cada día se generan alrededor de 2,5 quintillones de bytes de datos. Necesitamos tecnologías innovadoras para contener esta explosión de datos. Y Hive es una de esas herramientas que procesa datos estructurados y semiestructurados en el ecosistema Hadoop líder en la industria. A medida que más y más empleadores buscan aprovechar las capacidades de los grandes datos, buscan personas que conozcan bien las herramientas de Hadoop. Por lo tanto, un tutorial de Hadoop Hive es un componente esencial de cualquier curso de big data para principiantes.

Tabla de contenido

¿Qué es la colmena? Explique en términos simples.

Apache Hive permite a los desarrolladores resumir datos, ejecutar consultas y analizar grandes conjuntos de datos. Construido sobre el sistema de archivos distribuidos de Hadoop (HDFS), brinda más estructura a los datos al organizarlos en tablas. Además, Hive usa su lenguaje HiveQL o HQL para realizar consultas similares a SQL en los datos.

Mientras que SQL se ejecuta en bases de datos tradicionales, HQL puede traducir automáticamente las consultas en trabajos de MapReduce. Hive abstrae la complejidad de Hadoop al convertir las consultas SQL en una serie de trabajos que se ejecutarán en el clúster de Hadoop. Entonces, para dominar Apache Hive, necesita una familiaridad básica con SQL. Pero no hay necesidad de aprender Java.

Continuando con nuestro tutorial de Apache Hive , analicemos sus usos en los entornos de trabajo modernos.

¿Por qué necesitas usar Hive?

Los sistemas de bases de datos tradicionales no están equipados para manejar la gran cantidad de datos generados por las aplicaciones de big data en la actualidad. Y Hadoop es un marco que resuelve este problema. Varias herramientas ayudan a los módulos de Hadoop, Hive es una de ellas. Con Apache Hive, puede realizar las siguientes tareas:

  • Las tablas se pueden dividir en porciones y en cubos, lo que hace factible procesar los datos almacenados en el sistema de archivos distribuidos de Hadoop (HDFS). Las tablas se definen directamente en HDFS
  • Los controladores JDBC/ODBC están disponibles para la integración con tecnologías tradicionales
  • Brinda flexibilidad y evolución del esquema junto con el resumen de datos, lo que facilita los análisis.
  • Le evita escribir trabajos complejos de Hadoop MapReduce
  • El concepto de partición y depósito permite una rápida recuperación de datos
  • Muy fácil de aprender e implementar para desarrolladores de SQL
  • Sistema rápido y escalable
  • Hive admite diferentes tipos de archivos, como archivos de texto, archivos de secuencia, archivos RC, archivos ORF, archivos de parquet y archivos AVRO.

¿Cuáles son los componentes principales de la arquitectura Hive?

1. Interfaz de usuario: Le permite enviar una consulta, procesar las instrucciones y administrarlas. La interfaz de línea de comandos (CLI) y la interfaz de usuario web permiten a los usuarios externos conectarse con Hive.

2. Metastore: como sugiere el nombre, el metastore contiene los metadatos de la base de datos. Contiene información sobre el esquema y ubicación de las mesas. También almacena los metadatos de la partición. Presente en la base de datos relacional tradicional, le permite monitorear los datos distribuidos en el clúster. Realiza un seguimiento de los datos, los replica y proporciona copias de seguridad.

3. Controlador: es la parte del motor de procesos que recibe las declaraciones de HiveQL. El controlador crea sesiones para ejecutar la declaración y supervisa su ciclo de vida. También almacena los metadatos generados durante la ejecución de la declaración.

4. Compilador: esta parte del motor de procesos de HiveQL convierte la consulta en entradas de MapReduce, como el árbol de sintaxis abstracta (AST) y el gráfico acíclico dirigido (DAG).

5. Optimizer: este componente de la arquitectura de Hive realiza transformaciones en el plan de ejecución para proporcionar un DAG optimizado. Divide las tareas para un mejor desempeño.

6. Ejecutor: programa o canaliza las tareas para completar el proceso de ejecución. Para ello, interactúa con el rastreador de trabajos de Hadoop.

Leer: Tutorial de Hadoop para principiantes

Este tutorial de Apache Hive no puede estar completo sin discutir cómo estos componentes de Hive interactúan entre sí para realizar consultas. Por lo tanto, hemos enumerado los pasos a continuación.

Paso 1: el usuario ingresa una consulta en la CLI o la interfaz de usuario web, que reenvía la consulta al controlador.

Paso 2: el controlador pasa la consulta al compilador para su verificación. El compilador asegura la precisión de la sintaxis.

Paso 3: el compilador solicita Metastore para los metadatos necesarios para continuar.

Paso 4: después de recibir los metadatos, el compilador vuelve a enviar el plan de ejecución al controlador.

Paso 5: El controlador envía este plan al motor de ejecución.

Paso 6: El motor de ejecución realiza las etapas finales. Envía la tarea a JobTracker (nodo de nombre) dentro del módulo MapReduce de Hadoop.

Paso 7: JobTracker asigna además la tarea a TaskTracker (nodo de datos).

Paso 8: la consulta se ejecuta y se envía de vuelta al ejecutor.

Paso 9: El ejecutor envía los resultados al controlador.

Paso 10: el controlador envía los resultados a la interfaz de usuario de Hive.

Leer: Salario de desarrollador de Hadoop en India

¿Qué sabes sobre Hive Shell?

Hive Shell permite a los usuarios ejecutar consultas HQL. Es la interfaz de línea de comandos de Hive. Puede ejecutar Hive Shell en dos modos:

  • No interactivo: especifique la ubicación del archivo que contiene consultas HQL con la opción -f. Por ejemplo, hive -f my-script.q
  • Interactivo: vaya directamente a Hive Shell y envíe consultas manualmente para obtener el resultado. Por ejemplo, $bin/hive, vaya a Hive shell

Enumere algunas limitaciones de Hive

  • Ofrece soporte de subconsultas limitado
  • Las consultas de Hive tienen una latencia alta
  • Las vistas materializadas no están permitidas en Apache Hive
  • No proporciona consultas en tiempo real, actualizaciones a nivel de fila, operaciones de actualización y eliminación.
  • Apache Hive no es adecuado para el proceso de transición en línea o OLTP

Resumiendo

En este tutorial de Hadoop Hive , cubrimos diferentes aspectos de Hive, su uso y arquitectura. También profundizamos en su funcionamiento y discutimos sus limitaciones. Toda esta información lo ayudará a comenzar su viaje de aprendizaje de Hive. ¡Después de todo, es uno de los marcos de big data más utilizados y confiables!

Si está interesado en saber más sobre Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, prácticas talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores empresas.

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.

Liderar la revolución tecnológica basada en datos

7 Casos de Estudio y Proyectos. Asistencia laboral con las mejores empresas. Mentor estudiantil dedicado.
Programa de Certificado Avanzado en Big Data de IIIT Bangalore