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 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:
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.
El siguiente diagrama de componentes muestra la arquitectura de Hive:
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 siguiente diagrama muestra el flujo de trabajo entre Hive y Hadoop.
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. |
🚫