Visión general
- Apache HiveHive es una plataforma de redes sociales descentralizada que permite a sus usuarios compartir contenido y conectar con otros sin la intervención de una autoridad central. Utiliza tecnología blockchain para garantizar la seguridad y la propiedad de los datos. A diferencia de otras redes sociales, Hive permite a los usuarios monetizar su contenido a través de recompensas en criptomonedas, lo que fomenta la creación y el intercambio activo de información.... es una herramienta imprescindible para cualquier persona interesada en la ciencia y la ingeniería de datos.
- Conozca los diferentes tipos de tablas de Apache Hive
Introducción
He pasado más de media década trabajando con la pila de tecnología Big Data y consultando con clientes en varios dominios. Una cosa que he notado es la frecuencia con la que se utiliza Hive como solución de almacenamiento en todos los dominios comerciales.
Simplemente no puede ignorar Apache Hive cuando está aprendiendo Apache Hadoop.
Hive es parte del gran ecosistema de Hadoop que le posibilita proporcionar un esquema para grandes datos que residen en HDFSHDFS, o Sistema de Archivos Distribuido de Hadoop, es una infraestructura clave para el almacenamiento de grandes volúmenes de datos. Diseñado para ejecutarse en hardware común, HDFS permite la distribución de datos en múltiples nodos, garantizando alta disponibilidad y tolerancia a fallos. Su arquitectura se basa en un modelo maestro-esclavo, donde un nodo maestro gestiona el sistema y los nodos esclavos almacenan los datos, facilitando el procesamiento eficiente de información.... La mayoría de ustedes conocerán RDBMS y sus tablas. Los usamos con tanta frecuencia que ahora se ha convertido en parte de nuestras vidas. Y aquí está la cuestión: las tablas en Hive no son diferentes.
¿Alguna vez te preguntaste cuáles podrían ser los diferentes tipos de tablas en Hive? ¡Eso es lo que discutiremos en este post!
Tabla de contenido
- ¿Qué es Apache Hive?
- Tipos de tabla en Apache Hive # 1: tablas administradas
- Tipos de tabla en Apache Hive # 2: Tablas externas
- Tabla administrada vs externa: ¿cuál es la diferencia?
- Identificar el tipo de tabla Apache Hive
¿Qué es Apache Hive?
Apache Hive es un sistema de almacenamiento de datos para Apache Hadoop. Proporciona acceso equivalente a SQL para datos en HDFS para que Hadoop se pueda usar como estructura de almacén. Hive le posibilita proporcionar estructura sobre datos en gran parte no estructurados. Después de establecer la estructura, puede usar Hive para consultar los datos sin conocimientos de Java o Map Reduce.
Hive Query Language (HQL) cuenta con una semántica y funciones similares a las de SQL estándar en la base de datosUna base de datos es un conjunto organizado de información que permite almacenar, gestionar y recuperar datos de manera eficiente. Utilizadas en diversas aplicaciones, desde sistemas empresariales hasta plataformas en línea, las bases de datos pueden ser relacionales o no relacionales. Su diseño adecuado es fundamental para optimizar el rendimiento y garantizar la integridad de la información, facilitando así la toma de decisiones informadas en diferentes contextos.... relacional para que los analistas de bases de datos experimentados puedan ingresar fácilmente a los datos.
¿Cuáles son las funciones que ofrece Hive?
Apache Hive proporciona las siguientes características:
- Apache Hive proporciona un modelo de consulta más simple con menos codificación que Map Reduce
- HQL y SQL disponen una sintaxis equivalente
- Proporciona muchas funciones que facilitan el uso de análisis.
- El tiempo de respuesta suele ser mucho más rápido que otros tipos de consultas en los mismos conjuntos de datos enormes
- Apache Hive admite la ejecución en diferentes marcos informáticos
- Admite consultas de datos ad hoc en HDFS
- Apache Hive admite funciones definidas por el usuario, scripts y un formato de E / S personalizado para ampliar su funcionalidad.
- Es escalable y extensible a varios tipos de datos y conjuntos de datos más grandes.
- Los controladores JDBC y ODBC maduros posibilitan que muchas aplicaciones extraigan datos de Hive para generar informes sin problemas
- Hive posibilita a los usuarios leer datos en formatos arbitrarios, usando SerDes y formatos de entrada / salida
- Hive cuenta con una arquitectura bien establecida para la administración de metadatos, la autenticación y la optimización de consultas.
- Hay una gran comunidad de profesionales y desarrolladores que trabajan y usan Hive.
Tipos de tablas en Apache Hive
Estos son los tipos de tablas en Apache Hive:
Tablas gestionadas
En una tabla administrada, Hive administra tanto los datos como el esquema de la tabla. Los datos se ubicarán en una carpeta con el nombre de la tabla dentro del almacén de datos de Hive, que es simplemente una ubicación de archivo en HDFS.
La ubicación es configurable por el usuario cuando Hive está instalado. Por administrado o controlado queremos decir que si elimina (elimina) una tabla administrada, Hive eliminará tanto el esquema (la descripción de la tabla) como los archivos de datos asociados con la tabla. La ubicación predeterminada es / usuario / colmena / almacén).
Sintaxis para crear una tabla administrada
CREATE TABLE IF NOT EXISTS stocks (exchange STRING, symbol STRING, price_open FLOAT, price_high FLOAT, price_low FLOAT, price_adj_close FLOAT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;
Como para tablas gestionadas, además puede copiar el esquema (pero no los datos) de una tabla existente:
CREATE EXTERNAL TABLE IF NOT EXISTS mydb.employees3 LIKE mydb.employees LOCATION '/path/to/data';
Mesas Externas
Una tabla externa es aquella en la que Hive solo controla el esquema de la tabla. En la mayoría de los casos, el usuario configurará la ubicación de la carpeta dentro de HDFS y copiará los archivos de datos allí. Esta ubicación se incluye como parte de la declaración de definición de la tabla. Cuando se elimina una tabla externa, Hive solo eliminará el esquema asociado con la tabla. Los archivos de datos no se ven afectados.
Sintaxis para crear una tabla externa
CREATE EXTERNAL TABLE IF NOT EXISTS stocks (exchange STRING, symbol STRING, price_open FLOAT, price_high FLOAT, price_low FLOAT, price_adj_close FLOAT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/data/stocks';
Tabla administrada frente a tabla externa: ¿cuál es la diferencia?
Mesa gestionada | Mesa Externa |
Hive asume que posee los datos de las tablas administradas. | Para tablas externas, Hive asume que sí no administrar los datos. |
Si se elimina una tabla o partición administrada, se eliminan los datos y metadatos asociados con esa tabla o partición. | Dejar la tabla no elimina los datos, aún cuando se eliminarán los metadatos de la tabla. |
Para Tablas gestionadas, Colmena almacena datos en su directorio de almacén | Para Mesas Externas, Colmena almacena los datos en la UBICACIÓN especificada durante la creación del mesa(de forma general no en el directorio del almacén) |
La tabla gestionada proporciona apoyo ACID / acción transnacional. | La tabla externa no proporciona soporte para acciones ACID / transaccionales. |
Declaraciones: ARCHIVE, UNARCHIVE, TRUNCATE, MERGE, CONCATENATE compatible | No soportado. |
Se admite el almacenamiento en caché de resultados de consultas (guarda los resultados de una consulta de Hive ejecutada para su reutilización) | No soportado |
Identificar el tipo de tabla Apache Hive
Puede saber si una tabla es administrada o externa usando la salida de DESCRIBE EXTENDED nombre de la tabla.
Cerca del final de la salida de información detallada de la tabla, verá lo siguiente para administrado mesas:
... tableType: MANAGED_TABLE)
Para externo tablas, verá lo siguiente:
... tableType: EXTERNAL_TABLE)
Nota: Si omite la keyword EXTERNAL y la tabla original es externa, la nueva tabla además será externa. Si omite EXTERNAL y se administra la tabla original, además se administrará la nueva tabla. A pesar de esto, si incluye la keyword EXTERNAL y se administra la tabla original, la nueva tabla será externa. Inclusive en este escenario, la cláusula LOCATION seguirá siendo opcional.
Notas finales
En este post, aprendimos sobre Apache Hive y sus tipos de tablas. Con suerte, es factible que haya obtenido una buena descripción general de los tipos de tablas en Hive. Las diferencias indicadas no son exhaustivas. No dude en agregar más en la sección de comentarios a continuación.
Los siguientes son algunos recursos adicionales de ingeniería de datos que le recomiendo que explore:
Espero que les haya gustado el post. Si tiene alguna duda relacionada con este post, hágamelo saber en la sección de comentarios a continuación.
Lectura recomendada-
https://cwiki.apache.org/confluence/display/Hive/Home