Tutorial de Hive - Arquitectura de Hive y estudio de caso de la NASA



Este blog de tutoriales de Hive le brinda un conocimiento profundo de la arquitectura de Hive y el modelo de datos de Hive. También explica el caso de estudio de la NASA sobre Apache Hive.

Tutorial de Apache Hive: Introducción

Hive es una herramienta utilizada rigurosamente en toda la industria para Big Data Analytics y una gran herramienta para comenzar su con. En este blog tutorial de Hive, discutiremos en profundidad sobre Apache Hive. Apache Hive es una herramienta de almacenamiento de datos en el , que proporciona un lenguaje similar a SQL para consultar y analizar Big Data. La motivación detrás del desarrollo de Hive es la ruta de aprendizaje sin fricciones para los desarrolladores y analistas de SQL. Hive no solo es un salvador para las personas que no tienen experiencia en programación, sino que también reduce el trabajo de los programadores que pasan largas horas escribiendo programas MapReduce. En este blog Tutorial de Apache Hive, hablaré sobre:





Tutorial de Apache Hive: ¿Qué es Hive?

Apache Hive es un sistema de almacenamiento de datos construido sobre Hadoop y se utiliza para analizar datos estructurados y semiestructurados.Hive abstrae la complejidad de Hadoop MapReduce. Básicamente, proporciona un mecanismo para proyectar la estructura en los datos y realizar consultas escritas en HQL (Hive Query Language) que son similares a las declaraciones SQL. Internamente, el compilador de Hive convierte estas consultas o HQL para asignar trabajos de reducción. Por lo tanto, no necesita preocuparse por escribir programas complejos de MapReduce para procesar sus datos usando Hadoop. Está dirigido a usuarios que se sienten cómodos con SQL. Apache Hive admite lenguaje de definición de datos (DDL), lenguaje de manipulación de datos (DML) y funciones definidas por el usuario (UDF).

Tutorial de Hive para principiantes | Entender Hive en profundidad | Edureka



SQL + Hadoop MapReduce = HiveQL

Tutorial de Apache Hive: Historia de Hive: de Facebook a Apache

Facebook Use Case - Hive Tutorial - EdurekaHigo : Tutorial de Hive - Caso de uso de Facebook

Desafíos en Facebook: crecimiento exponencial de datos

Antes de 2008, toda la infraestructura de procesamiento de datos en Facebook se construía alrededor de un almacén de datos basado en RDBMS comercial. Estas infraestructuras fueron lo suficientemente capaces como para satisfacer las necesidades de Facebook en ese momento. Pero, a medida que los datos comenzaron a crecer muy rápido, se convirtió en un gran desafío administrar y procesar este enorme conjunto de datos. Según un artículo de Facebook, los datos pasaron de un conjunto de datos de 15 TB en 2007 a datos de 2 PB en 2009. Además, muchos productos de Facebook implican el análisis de datos como Audience Insights, Facebook Lexicon, Facebook Ads, etc. necesitaba una solución escalable y económica para hacer frente a este mismo problema y, por lo tanto, comenzó a utilizar el marco de trabajo de Hadoop.



Democratizando Hadoop - MapReduce

Pero, a medida que aumentaban los datos, la complejidad de los códigos Map-Reduce crecía proporcionalmente. Entonces, capacitar a personas sin experiencia en programación para escribir programas MapReduce se volvió difícil. Además, para realizar un análisis simple, hay que escribir cien líneas de código MapReduce. Dado que SQL fue ampliamente utilizado por ingenieros y analistas, incluido Facebook, por lo tanto, poner SQL en la parte superior de Hadoop parecía una forma lógica de hacer que Hadoop fuera accesible para los usuarios con experiencia en SQL.

Por lo tanto, la capacidad de SQL de ser suficiente para la mayoría de los requisitos analíticos y la escalabilidad de Hadoop dieron origen a Apache Hive que permite realizar consultas tipo SQL sobre los datos presentes en HDFS. Más tarde, el proyecto Hive fue de código abierto en agosto de 2008 por Facebook y está disponible gratuitamente como Apache Hive hoy.

Ahora, veamos las características o ventajas de Hive que lo hacen tan popular.

Tutorial de Apache Hive: ventajas de Hive

  • Útil para personas que no tienen experiencia en programación, ya que elimina la necesidad de escribir un programa complejo MapReduce.
  • Extensible y escalable para hacer frente al creciente volumen y variedad de datos, sin afectar el rendimiento del sistema.
  • Es una herramienta ETL (Extraer, Transformar, Cargar) eficiente.
  • Hive admite cualquier aplicación cliente escrita en Java, PHP, Python, C ++ o Ruby al exponer su Servidor de segunda mano . (Puede utilizar estos lenguajes del lado del cliente integrados con SQL para acceder a una base de datos como DB2, etc.).
  • Como la información de metadatos de Hive se almacena en un RDBMS, reduce significativamente el tiempo para realizar comprobaciones semánticas durante la ejecución de la consulta.

Tutorial de Apache Hive: ¿Dónde usar Apache Hive?

Apache Hive aprovecha los dos mundos, es decir, el sistema de base de datos SQL y marco de referencia. Por tanto, es utilizado por una gran multitud de empresas. Se utiliza principalmente para el almacenamiento de datos, donde puede realizar análisis y minería de datos que no requieren procesamiento en tiempo real. Algunos de los campos en los que puede usar Apache Hive son los siguientes:

  • Almacenamiento de datos
  • Análisis ad-hoc

Como se dice, no se puede aplaudir con una sola mano, es decir, no se pueden resolver todos los problemas con una sola herramienta. Por lo tanto, puede acoplar Hive con otras herramientas para usarlo en muchos otros dominios. Por ejemplo, Tableau junto con Apache Hive se puede utilizar para la visualización de datos, la integración de Apache Tez con Hive le proporcionará capacidades de procesamiento en tiempo real, etc.
Avanzando en este blog Tutorial de Apache Hive, echemos un vistazo a un estudio de caso de la NASA donde conocerá cómo Hive resolvió el problema que enfrentaban los científicos de la NASA mientras realizaban la evaluación de los modelos climáticos.

Tutorial de Hive: estudio de caso de la NASA

Un modelo climático es una representación matemática de sistemas climáticos basada en varios factores que impactan el clima de la Tierra. Básicamente, describe la interacción de varios impulsores del clima como el océano, el sol, la atmósfera, etc.proporcionar una idea de la dinámica del sistema climático. Se utiliza para proyectar las condiciones climáticas mediante la simulación de los cambios climáticos en función de los factores que afectan el clima. El Laboratorio de Propulsión a Chorro de la NASA ha desarrollado un Sistema de Evaluación de Modelos Climáticos Regionales (RCMES) para el análisis y la evaluación del modelo de resultados climáticos frente a los datos de teledetección presentes en varios repositorios externos.

El RCMES (Regional Climate Model Evaluation System) tiene dos componentes:

  • RCMED (Base de datos de evaluación de modelos climáticos regionales):

Es una base de datos en la nube escalable que carga los datos de teledetección y reanálisis relacionados con el clima utilizando extractores como los extractores Apache OODT, Apache Tika, etc. Finalmente, transforma los datos en el modelo de punto de datos que es de la forma (latitud , longitud, tiempo, valor, altura) y lo almacena en la base de datos My SQL. El cliente puede recuperar los datos presentes en RCMED realizando consultas de espacio / tiempo. La descripción de tales consultas no es relevante para nosotros ahora.

  • RCMET (Kit de herramientas de evaluación de modelos climáticos regionales):

Proporciona al usuario la capacidad de comparar los datos de referencia presentes en el RCMED con los datos de salida del modelo climático obtenidos de otras fuentes para realizar diferentes tipos de análisis y evaluación. Puede consultar la imagen que se muestra a continuación para comprender la arquitectura de RCMES.

Los datos de referencia del RCMED provienen de la teledetección satelital, de acuerdo con los diferentes parámetros requeridos para la evaluación del modelo climático. Por ejemplo, AIRS (Atmospheric Infrared Sounder) proporciona parámetros como la temperatura del aire en la superficie, la temperatura y el geopotencial, TRMM (Tropical Rainfall Measurement Mission) proporciona precipitación mensual, etc.

Problemas que enfrenta la NASA al utilizar el sistema de base de datos MySQL:

  • Después de cargar la base de datos MySQL con 6 mil millones de tuplas del formulario (latitud, longitud, tiempo, valor del punto de datos, altura), el sistema se bloqueó como se muestra en la imagen de arriba.
  • Incluso después de dividir toda la tabla en subconjuntos más pequeños, el sistema generó una enorme sobrecarga mientras procesaba los datos.

Por lo tanto, necesitaban una solución escalable que pudiera almacenar y procesar esta enorme cantidad de datos con la capacidad de consulta de SQL. Finalmente, decidieron utilizar Apache Hive para superar los problemas mencionados anteriormente.

¿Cómo Apache Hive puede resolver el problema?

Ahora, veamos, ¿cuáles son esas características que convencieron al equipo JPL de la NASA de incluir Apache Hive como parte integral de su estrategia de solución?

  • Dado que Apache Hive se ejecuta sobre Hadoop, es escalable y puede procesar datos de forma distribuida y paralela.
  • Proporciona Hive Query Language, que es similar a SQL y, por lo tanto, fácil de aprender.

Implementación de Hive:

La siguiente imagen explica la integración de RCMES Architect con Apache Hive:

Higo : Tutorial de Hive - Arquitectura RCMES con Apache Hive

La imagen de arriba muestra la implementación de apache hive en RCMES. El equipo de la NASA tomó los siguientes pasos al implementar Apache Hive:

  • Instalaron Hive usando Cloudera y Apache Hadoop como se muestra en la imagen de arriba.
  • Utilizaron Apache Sqoop para ingerir datos en Hive desde la base de datos MySQL.
  • El contenedor Apache OODT se implementó para realizar consultas en Hive y recuperar los datos en RCMET.

Observaciones iniciales de evaluación comparativa con Hive:

  • Inicialmente, cargaron 2.5 mil millones de puntos de datos en una sola tabla y realizaron una consulta de conteo. Por ejemplo, Colmena> seleccione el recuento (datapoint_id) de dataPoint. Se necesitaron de 5 a 6 minutos para contar todos los registros (de 15 a 17 minutos para los 6.800 millones de registros completos).
  • La fase de reducción fue rápida, pero la fase de mapa tomó el 95% del tiempo total de procesamiento. Estaban usando seis ( 4x de cuatro núcleos ) sistemas con 24 GB de RAM (aprox.) en cada uno de los sistemas.
  • Incluso después de agregar más máquinas, cambiar el tamaño del bloque HDFS (64 MB, 128 MB, 256 MB) y alterar muchas otras variables de configuración (io.ordenar.factor, yo.ordenar.mb), no tuvieron mucho éxito en reducir el tiempo para completar el conteo.

Comentarios de los miembros de la comunidad Hive:

Finalmente, los miembros de la comunidad de Hive acudieron al rescate y proporcionaron varias ideas para resolver los problemas con sus implementaciones actuales de Hive:

  • Mencionaron que la velocidad de lectura de HDFS es aproximadamente 60 MB / s en comparación con 1 GB / s en el caso de un disco local, dependiendo de la capacidad de la red y la carga de trabajo en NameNode.
  • Los miembros sugirieron que 16 mapeadores será necesario en su sistema actual para coincidir con el rendimiento de E / S de una tarea local que no sea de Hadoop.
  • También sugirieron reducir la tamaño dividido para que cada mapeador aumente el númerodemapeadores y, por lo tanto, proporcionar más paralelismo.
  • Finalmente, los miembros de la comunidad les dijeron que uso recuento (1) en lugar de referirse a contar ( datapoint_id) . Esto se debe a que en el caso del recuento (1), no hay una columna de referencia y, por lo tanto, no se produce ninguna descompresión ni deserialización mientras se realiza el recuento.

Finalmente, la NASA pudo ajustar su grupo Hive a sus expectativas teniendo en cuenta todas las sugerencias dadas por los miembros de la comunidad Hive. Y, por lo tanto, pudieron consultar miles de millones de filas en solo 15 segundos utilizando las configuraciones del sistema mencionadas anteriormente.

Tutorial de Apache Hive: Arquitectura de Hive y sus componentes

La siguiente imagen describe la arquitectura de Hive y el flujo en el que se envía una consulta aColmenay finalmente procesado usando el marco MapReduce:

programa java para comprobar palíndromo

Higo : Tutorial de Hive - Arquitectura de Hive

Como se muestra en la imagen anterior, la arquitectura de Hive se puede clasificar en los siguientes componentes:

  • Clientes de Hive: Hive admite aplicaciones escritas en muchos lenguajes como Java, C ++, Python, etc. utilizando controladores JDBC, Thrift y ODBC. Por lo tanto, siempre se puede escribir una aplicación cliente de Hive en un idioma de su elección.
  • Servicios de colmena: Apache Hive proporciona varios servicios como CLI, interfaz web, etc. para realizar consultas. Exploraremos cada uno de ellos en breve en este blog tutorial de Hive.
  • Marco de procesamiento y gestión de recursos: Internamente,Hive usa el marco Hadoop MapReduce como motor de facto para ejecutar las consultas. es un tema separado en sí mismo y, por lo tanto, no se trata aquí.
  • Almacenamiento distribuido: Como Hive se instala sobre Hadoop, utiliza el HDFS subyacente para el almacenamiento distribuido. Puede consultar el HDFS blog para obtener más información al respecto.

Ahora, exploremos los dos primeros componentes principales de la arquitectura Hive:

1. Clientes de Hive:

Apache Hive admite diferentes tipos de aplicaciones cliente para realizar consultas en Hive. Estos clientes se pueden clasificar en tres tipos:

  • Clientes de segunda mano: Como el servidor Hive se basa en Apache Thrift, puede atender la solicitud de todos los lenguajes de programación que admiten Thrift.
  • Clientes JDBC: Hive permite que las aplicaciones Java se conecten a él mediante el controlador JDBC que se define en la clase org.apache.hadoop.hive.jdbc.HiveDriver.
  • Clientes ODBC: El controlador ODBC de Hive permite que las aplicaciones que admiten el protocolo ODBC se conecten a Hive. (Al igual que el controlador JDBC, el controlador ODBC usa Thrift para comunicarse con el servidor Hive).

2. Servicios de Hive:

Hive proporciona muchos servicios como se muestra en la imagen de arriba. Echemos un vistazo a cada uno de ellos:

  • Hive CLI (interfaz de línea de comandos): Este es el shell predeterminado proporcionado por Hive donde puede ejecutar sus consultas y comandos de Hive directamente.
  • Interfaces web de Apache Hive: Además de la interfaz de línea de comandos, Hive también proporciona una GUI basada en web para ejecutar consultas y comandos de Hive.
  • Servidor de colmena: El servidor de Hive se basa en Apache Thrift y, por lo tanto, también se conoce como Thrift Server, que permite a diferentes clientes enviar solicitudes a Hive y recuperar el resultado final.
  • Controlador Apache Hive: Es responsable de recibir las consultas enviadas a través de la CLI, la interfaz de usuario web, las interfaces Thrift, ODBC o JDBC por parte de un cliente. Luego, el controlador pasa la consulta al compilador donde se realiza el análisis, la verificación de tipos y el análisis semántico con la ayuda del esquema presente en la tienda de metadatos.. En el siguiente paso, se genera un plan lógico optimizado en forma de un DAG (Gráfico acíclico dirigido) de tareas de reducción de mapas y tareas HDFS. Finalmente, el motor de ejecución ejecuta estas tareas en el orden de sus dependencias, utilizando Hadoop.
  • Metastore: Puedes pensar en metastorecomo un repositorio central para almacenar toda la información de metadatos de Hive. Los metadatos de Hive incluyen varios tipos de información como la estructura de las tablas y las particionesjunto con la columna, el tipo de columna, el serializador y el deserializador que se requieren para la operación de lectura / escritura en los datos presentes en HDFS. La meta-tiendaconsta de dos unidades fundamentales:
    • Un servicio que brinda metastoreacceso a otrosrServicios de colmena.
    • Almacenamiento en disco para los metadatos que está separado del almacenamiento HDFS.

Ahora, entendamos las diferentes formas de implementar Hive metastoreen la siguiente sección de este tutorial de Hive.

Tutorial de Apache Hive: configuración de Metastore

Metastore almacena la información de metadatos mediante RDBMS y una capa ORM (Object Relational Model) de código abierto llamada Data Nucleus, que convierte la representación del objeto en un esquema relacional y viceversa. La razón para elegir RDBMS en lugar de HDFS es lograr una baja latencia. Podemos implementar metastore en las siguientes tres configuraciones:

1. Metastore integrado:

Tanto el servicio de metastore como el servicio de Hive se ejecutan en la misma JVM de forma predeterminada utilizando una instancia de base de datos Derby incorporada donde los metadatos se almacenan en el disco local. Esto se denomina configuración de metastore incrustada. En este caso, solo un usuario puede conectarse a la base de datos de Metastore a la vez. Si inicia una segunda instancia del controlador Hive, obtendrá un error. Esto es bueno para las pruebas unitarias, pero no para las soluciones prácticas.

2. Metastore local:

Esta configuración nos permite tener múltiples sesiones de Hive, es decir, múltiples usuarios pueden usar la base de datos de metastore al mismo tiempo. Esto se logra mediante el uso de cualquier base de datos compatible con JDBC como MySQL que se ejecuta en una JVM separada o en una máquina diferente a la del servicio Hive y el servicio de metastore que se ejecutan en la misma JVM como se muestra arriba. En general, la opción más popular es implementar un servidor MySQL como base de datos de metastore.

3. Metastore remoto:

En la configuración de la tienda de metadatos remota, el servicio de la tienda de metadatos se ejecuta en su propia JVM separada y no en la JVM del servicio de Hive. Otros procesos se comunican con el servidor de metastore mediante las API de Thrift Network. Puede tener uno o más servidores de metastore en este caso para proporcionar más disponibilidad.La principal ventaja de utilizar la tienda de metadatos remota es que no es necesario compartir la credencial de inicio de sesión de JDBC con cada usuario de Hive para acceder a la base de datos de la tienda de metadatos.

Tutorial de Apache Hive: modelo de datos

Los datos de Hive se pueden clasificar en tres tipos a nivel granular:

  • Mesa
  • Dividir
  • Cubeta

Mesas:

Las tablas en Hive son las mismas que las tablas presentes en una base de datos relacional. Puede realizar operaciones de filtrado, proyecto, unión y unión en ellos. Hay dos tipos de tablas en Hive:

1. Tabla administrada:

Mando:

CREAR TABLA (column1 data_type, column2 data_type)

CARGAR ENTRADA DE DATOS EN la tabla tabla_gestionada

Como sugiere el nombre (tabla administrada), Hive es responsable de administrar los datos de una tabla administrada. En otras palabras, lo que quiero decir con 'Hive administra los datos' es que si carga los datos de un archivo presente en HDFS en un Hive Mesa gestionada y emitir un comando DROP en él, la tabla junto con sus metadatos se eliminarán. Entonces, los datos que pertenecen a la caída tabla_gestionada ya no existe en ningún lugar en HDFS y no puede recuperarlo de ninguna manera. Básicamente, está moviendo los datos cuando emite el comando LOAD desde la ubicación del archivo HDFS al directorio del almacén de Hive.

Nota: La ruta predeterminada del directorio del almacén se establece en / user / hive / warehouse. Los datos de una tabla de Hive residen en warehouse_directory / nombre_tabla (HDFS). También puede especificar la ruta del directorio del almacén en el parámetro de configuración hive.metastore.warehouse.dir presente en hive-site.xml.

2. Mesa externa:

Mando:

CREAR TABLA EXTERNA (column1 data_type, column2 data_type) UBICACIÓN ''

CARGAR DATOS ENTRADA '' EN LA TABLA

Xa mesa externa , Hive no es responsable de administrar los datos. En este caso, cuando emite el comando LOAD, Hive mueve los datos a su directorio de almacén. Luego, Hive crea la información de metadatos para la tabla externa. Ahora, si emite un comando DROP en el mesa externa , solo se eliminará la información de metadatos relacionada con la tabla externa. Por lo tanto, aún puede recuperar los datos de esa tabla muy externa desde el directorio del almacén usando comandos HDFS.

Particiones:

Mando:

CREATE TABLE nombre_tabla (column1 data_type, column2 data_type) PARTICIONADO POR (partición1 tipo_datos, partición2 tipo_datos y hellip.)

Hive organiza las tablas en particiones para agrupar tipos de datos similares en función de una columna o clave de partición. Cada tabla puede tener una o más claves de partición para identificar una partición en particular. Esto nos permite tener una consulta más rápida en segmentos de datos.

Nota: Recuerde, el error más común que se comete al crear particiones es especificar un nombre de columna existente como columna de partición. Al hacerlo, recibirá un error: 'Error en el análisis semántico: columna repetida en las columnas de partición'.

Entendamos la partición tomando un ejemplo donde tengo una tabla student_details que contiene la información del estudiante de alguna universidad de ingeniería como student_id, nombre, departamento, año, etc. Ahora, si realizo la partición basada en la columna del departamento, la información de todos los estudiantes pertenecientes a un departamento en particular se almacenarán juntos en esa misma partición. Físicamente, una partición no es más que un subdirectorio en el directorio de la tabla.

Supongamos que tenemos datos de tres departamentos en nuestra tabla de detalles de los estudiantes: CSE, ECE y Civil. Por lo tanto, tendremos tres particiones en total para cada uno de los departamentos como se muestra en la imagen a continuación. Y, para cada departamento, tendremos todos los datos con respecto a ese mismo departamento que residen en un subdirectorio separado bajo el directorio de tablas de Hive. Por ejemplo, todos los datos de los estudiantes con respecto a los departamentos de CSE se almacenarán en user / hive / warehouse / student_details / dept. = CSE. Por lo tanto, las consultas sobre los estudiantes de CSE solo tendrían que examinar los datos presentes en la partición de CSE. Esto hace que la partición sea muy útil, ya que reduce la latencia de la consulta al escanear solo pertinente datos particionados en lugar de todo el conjunto de datos. De hecho, en las implementaciones del mundo real, tratará con cientos de TB de datos. Entonces, imagine escanear esta enorme cantidad de datos en busca de alguna consulta donde 95% Los datos escaneados por usted no eran relevantes para su consulta.

Te sugiero que revises el blog en Comandos de la colmena donde encontrará diferentes formas de implementar particiones con un ejemplo.

Cubos:

Comandos:

CREATE TABLE nombre_tabla PARTICIONADO POR (tipo_de_datos de la partición1, tipo_de_datos de la partición2 y hellip.) AGRUPADO POR (nombre_columna1, nombre_columna2,…) ORDENADO POR (nombre_columna [ASC | DESC],…)] EN num_buckets

Ahora, puede dividir cada partición o la tabla no particionada en Buckets según la función hash de una columna de la tabla. En realidad, cada depósito es solo un archivo en el directorio de la partición o en el directorio de la tabla (tabla sin particiones). Por lo tanto, si ha elegido dividir las particiones en n depósitos, tendrá n archivos en cada uno de los directorios de su partición. Por ejemplo, puede ver la imagen de arriba donde hemos agrupado cada partición en 2 depósitos. Entonces, cada partición, digamos CSE, tendrá dos archivos donde cada uno de ellos almacenará los datos del estudiante de CSE.

¿Cómo distribuye Hive las filas en depósitos?

Bueno, Hive determina el número de depósito de una fila mediante la fórmula: hash_function (bucketing_column) módulo (num_of_buckets) . Aquí, hash_function depende del tipo de datos de la columna. Por ejemplo, si está agrupando la tabla sobre la base de alguna columna, digamos user_id, de tipo de datos INT, la función hash será: hash_function (user_id ) = valor entero de user_id . Y, suponga que ha creado dos depósitos, Hive determinará las filas que van al depósito 1 en cada partición calculando: (valor de user_id) módulo (2). Por lo tanto, en este caso, las filas que tienen user_id terminando con un dígito entero par residirán en un mismo depósito correspondiente a cada partición. La función hash para otros tipos de datos es un poco compleja de calcular y, de hecho, para una cadena ni siquiera es humanamente reconocible.

cómo configurar eclipse para java

Nota: Si está utilizando Apache Hive 0.xo 1.x, debe emitir el comando - establecer hive.enforce.bucketing = true desde su terminal Hive antes de realizar el agrupamiento. Esto le permitirá tener el número correcto de reductor mientras usa cluster by cláusula para agrupar una columna. En caso de que no lo haya hecho, puede encontrar que la cantidad de archivos que se han generado en el directorio de su tabla no es igual a la cantidad de cubos. Como alternativa, también puede establecer el número de reductor igual al número de cubos utilizando set mapred.reduce.task = num_bucket.

¿Por qué necesitamos baldes?

Hay dos razones principales para realizar el agrupamiento en una partición:

  • A unión lateral del mapa requiere que los datos que pertenecen a una clave de combinación única estén presentes en la misma partición. Pero, ¿qué pasa con los casos en los que su clave de partición difiere de unirse? Por lo tanto, en estos casos, puede realizar una unión lateral del mapa agrupando la tabla con la tecla de unión.
  • El agrupamiento hace que el proceso de muestreo sea más eficiente y por lo tanto, nos permite disminuir el tiempo de consulta.

Me gustaría concluir este blog tutorial de Hive aquí. Estoy bastante seguro de que después de leer este blog tutorial de Hive, se habrá dado cuenta de la simplicidad de Apache Hive. Desde entonces, ustedes han aprendido todos los fundamentos de Hive., es hora de tener experiencia práctica con Apache Hive. Por lo tanto, consulte el siguiente blog de esta serie de blogs de tutoriales de Hive que está sobre la instalación de Hive y comience a trabajar en Apache Hive.

Ahora que ha entendido Apache Hive y sus características, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación de certificación de Edureka Big Data Hadoop ayuda a los alumnos a convertirse en expertos en HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume y Sqoop utilizando casos de uso en tiempo real en el dominio de comercio minorista, redes sociales, aviación, turismo y finanzas.

Tienes una pregunta para nosotros? Menciónalo en la sección de comentarios y nos comunicaremos contigo.