¿Qué es una colmena?

Apache Hive es un sistema de almacenamiento de datos diseñado sobre la plataforma Hadoop de código abierto y se utiliza para el resumen de datos, consultas de datos grandes, análisis de datos, etc.

La colmena fue desarrollada por Facebook y en un momento posterior, fue asumida por Apache Software Foundation, que la desarrolló como una fuente abierta bajo el nombre Apache Hive.

Definición:

No es una base de datos relacional y es por eso que no es adecuada para el procesamiento de transacciones en línea y consultas en tiempo real con actualizaciones a nivel de fila. Hive está diseñado para el procesamiento analítico en línea o OLAP. También proporciona un lenguaje de consulta llamado HiveQL. Es escalable, rápido y extensible. Convierte las consultas que parecen casi SQL en trabajos de MapReduce para una fácil ejecución y procesamiento de una gran cantidad de datos. Apache Hive es uno de los componentes de Hadoop que normalmente usan los analistas de datos, mientras que Apache Pig también se usa para la misma tarea, pero es más utilizado por investigadores y programadores. Apache Hive es un sistema de almacenamiento de datos de código abierto que se utiliza para consultar y analizar grandes conjuntos de datos almacenados en el almacenamiento de Hadoop. Hive es el más adecuado para trabajos por lotes y no para tipos de trabajo de procesamiento transaccional en línea. Tampoco admite consultas en tiempo real. Hive usa SQL como lenguaje de consulta y se usa principalmente para crear informes. Hive generalmente se implementa en el lado del servidor y admite datos estructurados. Hive también admite la integración con herramientas JDBC y BI.

Colmena de comprensión:

A continuación se muestran los principales componentes de la colmena:

Tienda Meta:

El repositorio que almacena los metadatos se llama la tienda de meta colmena. Los metadatos consisten en los diferentes datos sobre las tablas, como su ubicación, esquema e información sobre las particiones, lo que ayuda a monitorear el progreso de los datos distribuidos de manera diversa en el clúster. También realiza un seguimiento de los datos y replica los datos que proporcionan una copia de seguridad en caso de emergencias como pérdida de datos. La información de metadatos está presente en las bases de datos relacionales y no en el sistema de archivos Hadoop.

Conductor:

Al ejecutar la instrucción del lenguaje de consulta de Hive, el controlador recibe la instrucción y la controla durante el ciclo de ejecución completo. Junto con la ejecución de la declaración, el controlador también almacena los metadatos generados a partir de la ejecución. También crea sesiones para monitorear el progreso y el ciclo de vida de diferentes ejecuciones. Después de que el trabajo MapReduce completa la operación de reducción, el controlador recopila todos los datos y resultados de la consulta

Compilador:

Se utiliza para traducir el lenguaje de consulta de Hive a la entrada de MapReduce. Invoca un método que ejecuta los pasos y las tareas que se necesitan para leer el resultado de HiveQL según lo necesite MapReduce.

Optimizador:

La tarea principal del optimizador es mejorar la eficiencia y la escalabilidad creando una tarea mientras se transforman los datos antes de reducir la operación. También realiza transformaciones como agregación, conversión de canalización por una sola combinación para múltiples combinaciones.

Albacea:

Después del paso de compilación y optimización, la tarea principal del ejecutor es ejecutar las tareas. La tarea principal del ejecutor es interactuar con el rastreador de trabajos Hadoop para programar tareas listas para ejecutarse.

UI, servidor Thrift y CLI:

El servidor Thrift es utilizado por otros clientes para interactuar con el motor Hive. La interfaz de usuario y la interfaz de línea de comandos ayudan a enviar las consultas, así como a supervisar el proceso e instrucciones para que los usuarios externos puedan interactuar con la colmena.

A continuación se muestran los pasos que muestran la interacción de la colmena con el marco de Hadoop:

Ejecutando la consulta:

La consulta se envía al controlador desde las interfaces de la colmena, como la línea de comandos o la interfaz de usuario web. Un controlador puede ser cualquier controlador de base de datos como JDB u ODBC, etc.

Obteniendo el plan:

La sintaxis para el requisito de la consulta o el plan de consulta se puede verificar con la ayuda de un compilador de consultas que pasa por la consulta y es invocado por el controlador.

Obteniendo los metadatos:

La tienda de meta puede residir en cualquier base de datos y el compilador realiza una solicitud para acceder a los metadatos.

Enviando los metadatos:

A petición del compilador, la meta store envía los metadatos.

Enviando el plan:

El compilador envía el plan al controlador al verificar los requisitos enviados por el compilador. Este paso completa el análisis y la compilación de una consulta.

Ejecutando el plan:

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

Ejecutando el trabajo:

Una ejecución del trabajo es un trabajo de MapReduce que se ejecuta en el back-end. Luego sigue la convención normal del marco Hadoop: el motor de ejecución enviará un trabajo al rastreador de trabajos que reside en el nodo de nombre y el nodo de nombre, a su vez, asignará el trabajo al rastreador de tareas que está en la nota de datos. El trabajo MapReduce se ejecuta aquí.

Operaciones de metadatos:

Mientras ejecuta el trabajo, el motor de ejecución puede ejecutar operaciones de metadatos con la tienda de metadatos.

Obteniendo el resultado:

Los nodos de datos después de la finalización del procesamiento pasan el resultado al motor de ejecución.

Enviando el resultado

El controlador recibe el resultado del motor de ejecución.

Envío de resultados:

Finalmente, las interfaces de Hive reciben el resultado del controlador.

Por lo tanto, mediante la ejecución de los pasos anteriores, se lleva a cabo una ejecución de consulta completa en Hive.

¿Cómo hace la colmena que trabajar sea tan fácil?

Hive es un marco de almacenamiento de datos construido sobre Hadoop que ayuda al usuario a realizar análisis de datos, consultar datos y resumir datos en grandes volúmenes de conjuntos de datos. HiveQL es una característica única que se parece a los datos SQL almacenados en la base de datos y realiza un análisis exhaustivo. Era capaz de leer datos a una velocidad muy alta y escribir los datos en los almacenes de datos, así como también puede administrar grandes conjuntos de datos distribuidos en múltiples ubicaciones. Junto con esta sección también proporciona estructura a los datos almacenados en la base de datos y los usuarios pueden conectarse a la sección usando la herramienta de línea de comandos o el controlador JDBC.

Compañías principales:

Las principales organizaciones que trabajan con Big Data utilizan la colmena, como Facebook, Amazon, Walmart y muchas otras.

¿Qué puedes hacer con Hive?

Hay muchas funcionalidades de la colmena, como consulta de datos, resumen de datos y análisis de datos. Hive admite un lenguaje de consulta llamado HiveQL o Hive Query Language. Las consultas del lenguaje de consulta de Hive se traducen al trabajo MapReduce que se procesa en el clúster de Hadoop. Además de esto, Hiveql también reduce el script que se puede agregar a las consultas. De esta manera, HiveQL aumenta la flexibilidad de diseño del esquema, que también admite la deserialización de datos y la serialización de datos.

Trabajando con Hive:

A continuación se muestran algunos de los detalles operativos en Hive. Los tipos de datos de la colmena se clasifican en general en cuatro tipos, como se indica a continuación:

  • Tipos de columna
  • Literales
  • Valores nulos
  • Tipos complejos

1. Tipos de columna:

Estos son los tipos de datos de columna de la colmena. Estos se clasifican de la siguiente manera:

  • Tipos integrales: los datos enteros se representan usando el tipo de datos integral. El símbolo es INT. Cualquier dato que exceda el límite superior de INT debe asignarse al tipo de datos BIGINT. Del mismo modo, cualquier dato por debajo del límite inferior de INT debe asignarse a SMALLINT. Hay otro tipo de datos llamado TINYINT que es incluso más pequeño que SMALLINT.
  • Tipos de cadena: el tipo de datos de cadena se representa en la colmena mediante una comilla simple (') o comillas dobles (“). Puede ser de dos tipos: VARCHAR o CHAR.
  • Marca de tiempo: La marca de tiempo de Hive admite el formato java.sql.Timestamp "aaaa-mm-dd hh: mm: ss.ffffffffff" y el formato "AAAA-MM-DD HH: MM: SS.fffffffff".
  • Fecha: La fecha se representa en la colmena en el formato AAAA-MM-DD que representa año-mes-día.
  • Decimales : los decimales en una colmena se representan en el formato decimal grande de Java y se utilizan para representar una precisión arbitraria inmutable. Se representa en el formato Decimal (precisión, escala).
  • Tipos de unión: la unión se usa en la colmena para crear una colección de un tipo de datos heterogéneo. Se puede crear usando crear una unión.

A continuación se muestra un ejemplo:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literales:

Hay pocos literales usados ​​en la colmena. Son los siguientes:

  • Tipo de punto flotante : se representan como números con un punto decimal. Estos son bastante similares al tipo de datos doble.
  • Tipo decimal : este tipo de datos contiene datos de tipo decimal solamente pero con un rango de valor de coma flotante más alto que el tipo de datos doble. El rango de tipo decimal es aproximado -10-308 a 10308 .

3. Valor nulo:

El valor especial NULL representa los valores faltantes en la colmena.

4. Tipos complejos:

A continuación se muestran los diferentes tipos complejos que se encuentran en la colmena:

  • Matrices : las matrices se representan en una colmena de la misma forma que en Java. La sintaxis es como ARRAY.
  • Mapas : los mapas se representan en la colmena de la misma forma que en Java. La sintaxis es como MAP
  • .
  • Estructuras : las estructuras en la colmena se representan como datos complejos con comentarios. La sintaxis es como STRUCT.

Además de todo esto, podemos crear bases de datos, tablas, particionarlas y muchas otras funciones.

  • Bases de datos: son los espacios de nombres que contienen una colección de tablas. A continuación se muestra la sintaxis para crear una base de datos en una colmena.

CREATE DATABASE (IF NOT EXISTS) sampled;

Las bases de datos también se pueden eliminar si ya no se necesitan. A continuación se muestra la sintaxis para descartar una base de datos.

DROP DATABASE (IF EXISTS) sampled;

  • Tablas: también se pueden crear en la colmena para almacenar datos. A continuación se muestra la sintaxis para crear una tabla.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

También se puede descartar una tabla si ya no se necesita. A continuación se muestra la sintaxis para colocar una tabla.

DROP TABLE (IF EXISTS) table_name;

Ventajas

La principal ventaja de Apache Hive es para consultar, resumir y analizar datos. Hive está diseñado para mejorar la productividad del desarrollador y también viene con el costo de aumentar la latencia y disminuir la eficiencia. Apache Hive proporciona una amplia gama de funciones definidas por el usuario que pueden interconectarse con otros paquetes de Hadoop como RHipe, Apache Mahout, etc. Ayuda a los desarrolladores en gran medida cuando trabajan con procesamiento analítico complejo y múltiples formatos de datos. Se utiliza principalmente para el almacenamiento de datos, lo que significa un sistema utilizado para informes y análisis de datos.

Se trata de limpiar, transformar y modelar datos para proporcionar información útil sobre diversos aspectos comerciales que ayudarán a generar un beneficio para una organización. El análisis de datos tiene muchos aspectos y enfoques diferentes que abarcan diversas técnicas con una variedad de nombres en diferentes modelos de negocios, dominios de ciencias sociales, etc. Hive es muy fácil de usar y permite a los usuarios acceder simultáneamente a los datos aumentando el tiempo de respuesta. En comparación con el otro tipo de consultas en grandes conjuntos de datos, el tiempo de respuesta de la colmena es mucho más rápido que otros. También es mucho más flexible en términos de rendimiento al agregar más datos y al aumentar el número de nodos en el clúster.

¿Por qué deberíamos usar la colmena?

Junto con el análisis de datos, la sección ofrece una amplia gama de opciones para almacenar los datos en HDFS. Hive admite diferentes sistemas de archivos como un archivo plano o un archivo de texto, un archivo de secuencia que consiste en pares clave-valor binarios, archivos RC que almacenan la columna de una tabla en una base de datos columnar. Hoy en día, el archivo que es más adecuado con Hive se conoce como archivos ORC o archivos de columnas optimizadas de filas.

¿Por qué necesitamos Hive?

En el mundo actual, Hadoop está asociado con las tecnologías más difundidas que se utilizan para el procesamiento de big data. La colección muy rica de herramientas y tecnologías que se utilizan para el análisis de datos y otros procesos de big data.

¿Quién es el público adecuado para aprender las tecnologías de Hive?

La mayoría de las personas que tienen experiencia como desarrolladores, análisis de Hadoop, administradores de sistemas, almacenamiento de datos, SQL profesional y administración de Hadoop pueden dominar la colmena.

¿Cómo te ayudará esta tecnología en el crecimiento profesional?

Hive es una de las habilidades más populares en el mercado hoy en día y es una de las mejores herramientas para el análisis de datos en el mundo de Big Data Hadoop. Las grandes empresas que realizan análisis sobre grandes conjuntos de datos siempre buscan personas con los derechos de habilidades para poder administrar y consultar grandes volúmenes de datos. Hive es una de las mejores herramientas disponibles en el mercado en tecnologías de big data en los últimos días que puede ayudar a una organización de todo el mundo para su análisis de datos.

Conclusión:

Además de las funciones mencionadas anteriormente, la colmena tiene capacidades mucho más avanzadas. El poder de Hive para procesar una gran cantidad de conjuntos de datos con gran precisión hace de Hive una de las mejores herramientas utilizadas para el análisis en la plataforma de Big Data. Además, también tiene un gran potencial para emerger como una de las principales herramientas de análisis de big data en los próximos días debido a la mejora periódica y la facilidad de uso para el usuario final.

Artículos recomendados

Esta ha sido una guía de What is Hive. Aquí discutimos el trabajo, las habilidades, el crecimiento profesional, las ventajas de Hive y las principales empresas que implementan esta tecnología. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Comandos de la colmena
  2. Preguntas de la entrevista de la colmena
  3. ¿Qué es el azul?
  4. ¿Qué es la tecnología Big Data?
  5. Arquitectura de la colmena | Definición
  6. Uso de la función ORDER BY en Hive

Categoría: