Beehive – Introducción

El término «big data» se utiliza para recopilar grandes conjuntos de datos que incluyen un volumen enorme, alta velocidad y variedad de datos que aumentan día a día. Al utilizar sistemas de gestión de datos tradicionales, es difícil manejar big data. Por lo tanto, Apache Software Foundation introdujo un marco llamado Hadoop para resolver problemas de procesamiento y administración de big data.

Hadoop

Hadoop es una plataforma de código abierto para almacenar y procesar macrodatos en un entorno distribuido. Contiene dos módulos, uno es MapReduce y el otro es Hadoop Distributed File System (HDFS).

  • Mapa reducido: Es un modelo de programación paralelo para procesar grandes cantidades de datos estructurados, semiestructurados y no estructurados en grandes grupos de hardware estándar.

  • HDFS:El sistema de archivos distribuido de Hadoop es parte de la infraestructura de Hadoop que se utiliza para almacenar y procesar conjuntos de datos. Proporciona un sistema de archivos tolerante a fallos para ejecutarse en hardware estándar.

El ecosistema de Hadoop contiene varios subproyectos (herramientas) como Sqoop, Pig y Hive que se utilizan para admitir módulos de Hadoop.

  • Sqoop: Se utiliza para importar y exportar datos entre HDFS y DBMS.

  • Pig: Es una plataforma de lenguaje de procedimientos que se utiliza para programar operaciones de MapReduce.

  • Colmena: Es una plataforma utilizada para desarrollar scripts de tipo SQL para realizar operaciones MapReduce.

Nota: Hay varias formas de realizar operaciones MapReduce:

  • Enfoque tradicional de Java MapReduce para datos estructurados, semiestructurados y no estructurados.
  • Un enfoque de scripting para MapReduce para procesar datos estructurados y semiestructurados usando Pig.
  • Hive Query Language (HiveQL o HQL) para MapReduce para manejar datos estructurados con Hive.

Que es una colmena

Hive es una herramienta de infraestructura de almacenamiento de datos para manejar datos estructurados en Hadoop. Se asienta sobre Hadoop para resumir big data y simplificar consultas y análisis.

Hive fue desarrollado originalmente por Facebook, luego la Apache Software Foundation lo tomó y lo desarrolló como código abierto con el nombre de Apache Hive. Diferentes empresas lo utilizan. Por ejemplo, Amazon lo usa en Amazon Elastic MapReduce.

Sin colmena

  • Base de datos relacional
  • Diseño para procesamiento de transacciones en línea (OLTP)
  • Un idioma para consultas en tiempo real y actualizaciones a nivel de fila.

Características de la colmena

  • Almacena el esquema en la base de datos y los datos procesados ​​en HDFS.
  • Está diseñado para OLAP.
  • Proporciona un lenguaje como SQL para consultas llamado HiveQL o HQL.
  • Es familiar, rápido, escalable y extensible.

Arquitectura de la colmena

El siguiente diagrama de componentes muestra la arquitectura de Hive:

Arquitectura Colmena

Este diagrama de componentes contiene varios bloques. La siguiente tabla describe cada bloque:

nombre de la propiedad Operación
Interfaz de usuario Hive es un software de infraestructura de almacenamiento de datos que puede crear interacciones entre un usuario y HDFS. Las interfaces de usuario compatibles con Hive son la interfaz de usuario web de Hive, la línea de comandos de Hive y Hive HD Insight (en Windows Server).
Meta tienda Hive selecciona los servidores de bases de datos adecuados para almacenar esquemas o metadatos para tablas, bases de datos, columnas de tablas, sus tipos de datos y asignaciones HDFS.
Motor de proceso HiveQL HiveQL es similar a SQL para consultar información de esquema en Metastore. Este es uno de los reemplazos del enfoque tradicional de MapReduce. En lugar de escribir un programa MapReduce en Java, podemos escribir una solicitud para configurar MapReduce y procesarlo.
Mecanismo de ejecución La parte unificadora de HiveQL Process Engine y MapReduce es Hive Execution Engine. El motor de ejecución procesa la solicitud y genera los mismos resultados que los resultados de MapReduce. Utiliza un sabor de MapReduce.
HDFS o HBASE El sistema de archivos distribuido Hadoop o HBASE son métodos de almacenamiento para almacenar datos en un sistema de archivos.

El trabajo de la colmena

El siguiente diagrama muestra el flujo de trabajo entre Hive y Hadoop.

Cómo funciona la colmena

La siguiente tabla muestra cómo Hive interactúa con el marco de Hadoop:

Paso # Operación
uno Ejecuta una solicitud

La interfaz de Hive, como la línea de comandos o la interfaz web, envía una solicitud al controlador (cualquier controlador de base de datos como JDBC, ODBC, etc.) para su ejecución.

2 Consiga un plan

El controlador utiliza la ayuda del compilador de consultas, que analiza la consulta para comprobar la sintaxis y el plan de consulta o los requisitos de consulta.

3 Obtener metadatos

El compilador envía una solicitud de metadatos a Metastore (cualquier base de datos).

cuatro Enviar metadatos

Metastore envía metadatos en respuesta al compilador.

cinco Enviar plan

El compilador verifica el requisito y vuelve a enviar el plan al controlador. Esto completa el análisis y la compilación de la solicitud.

6 Implementar el plan

El controlador envía el plan de ejecución al motor de ejecución.

7 Realizar una tarea

Internamente, el proceso de ejecución de un trabajo es un trabajo de MapReduce. El motor envía el trabajo al JobTracker, que se encuentra en el nodo Nombre, y asigna el trabajo al TaskTracker, que se encuentra en el nodo Datos. Aquí la solicitud está haciendo el trabajo MapReduce.

7.1 Operaciones con metadatos

Mientras tanto, en tiempo de ejecución, el motor en tiempo de ejecución puede realizar operaciones de metadatos con Metastore.

8 Obtener el resultado

El motor de ejecución recibe resultados de los nodos de datos.

9 Enviar resultados

El motor de ejecución envía estos valores de resultado al controlador.

diez Enviar resultados

El controlador envía los resultados a las interfaces de Hive.

🚫