Introducción a las uniones en la colmena

Las uniones se utilizan para recuperar varias salidas usando múltiples tablas, combinándolas en base a columnas particulares. Ahora, para que las tablas estén en Hive, debemos crear las tablas y cargar los datos en cada tabla. Vamos a utilizar dos tablas (cliente y producto) aquí para comprender el propósito.

Diferentes comandos

A continuación se muestran los comandos para crear y cargar los datos en estas tablas:

Para tabla de clientes : 6 filas

Crear comando

Cree una tabla externa si no existe el cliente (cadena de identificación, cadena de nombre, cadena de ciudad)
formato de fila delimitado
campos terminados por ''
ubicación '/user/hive/warehouse/test.db/customer'
tblproperties (“skip.header.line.count” = ”1”);

Comando de carga

Cargue datos locales en la ruta '/home/cloudera/Customer_Neha.txt' en la tabla cliente;

Datos de la tabla del cliente

Para tabla de productos : 6 filas

Crear comando

Crear una tabla externa si no existe el producto (Cust_Id string,
Cadena de producto, cadena de precio)
formato de fila delimitado
campos terminados por ''
ubicación '/user/hive/warehouse/test.db/product'
tblproperties (“skip.header.line.count” = ”1”);

Comando de carga

Cargue la ruta local de datos '/home/cloudera/Product_Neha.txt' en el producto de la tabla;

Datos de la tabla de productos

Nota : Estoy usando "propiedades (" skip.header.line.count "=" 1 ")" para omitir la primera línea de mis datos que es el encabezado para mí.

Para verificar el esquema de la tabla, use el comando "desc table name;"


Ahora, tenemos datos en tablas, ¿vamos a jugar con eso?

Tipos de uniones en colmena

Unir: esto dará el producto cruzado tanto de los datos de la tabla como de la salida. Como puede ver, tenemos 6 filas en cada tabla. Entonces, la salida para Join será de 36 filas. El número de mapeadores-1. Sin embargo, no se utiliza ninguna reducción para el operador.

Mando

Salida:

1. Unión completa

La condición de unión completa sin coincidencia dará el producto cruzado de ambas tablas.

Número de mapeadores-2

Número de reductor-1

Esto se puede lograr utilizando "Unir" también, pero con menos cantidad de mapeador y reductor.

Unión completa con condición de coincidencia

Todas las filas se unirán desde ambas tablas. Si las filas no coinciden en otra tabla, NULL se completará en la salida (Observe Id-100, 106). No se omiten filas.

Número de mapeadores-2

Número de reductor-1

Mando

Salida:

2. Unión interna

Si la unión interna se usa sin la cláusula "on", dará el producto cruzado como salida. Sin embargo, estamos obligados a usar las columnas específicas sobre las cuales se puede realizar la unión. La columna Id de la tabla de clientes y la columna Cust_id de la tabla de productos son mis columnas específicas. La salida contiene las filas donde Id y Cust_Id coinciden. Puede observar que las filas con Id-106 y Cust_Id-100 se omiten en la salida porque no están presentes en otra tabla.

Mando

Salida:

3. Izquierda unirse

Todas las filas de la tabla izquierda se unen con filas coincidentes de la tabla derecha. Si la tabla derecha tiene filas con identificadores que no están presentes en la tabla izquierda, esas filas se omitirán (Observe Cust_Id-100 en la salida). Si la tabla derecha no tiene filas con identificadores que están allí en la tabla izquierda, NULL se completará en la salida (Observe Id-106 en la salida).

Número de Mapper-1

Número de reductor-0

Mando

Salida:

4. Únete a la derecha

Todas las filas de la tabla derecha coinciden con las filas de la tabla izquierda. Si la tabla de la izquierda no tiene ninguna fila, se rellenará NULL (Observe Id 100). Las filas de la tabla izquierda se omitirán si esa coincidencia no se encuentra en la tabla derecha (Observe Id 106).

Número de Mapper-1

Número de reductor-0

Mando

Salida:

Conclusión: se une en la colmena

"Unirse", como sugiere la palabra, puede unir dos o más tablas en la base de datos. Es similar a las uniones en SQL. Las uniones se utilizan para recuperar varias salidas usando múltiples tablas, combinándolas en base a columnas particulares. Según el requisito, se puede decidir qué combinación funcionará para usted. Por ejemplo, si desea verificar cuáles son los id presentes en la tabla izquierda pero no en la tabla derecha, simplemente puede usar la combinación izquierda. Se pueden realizar varias optimizaciones en uniones de colmena dependiendo de la complejidad. Algunos de los ejemplos son uniones de reparto, uniones de replicación y semiuniones.

Artículos recomendados

Esta es una guía de Uniones en la colmena. Aquí discutimos los tipos de combinaciones como unión completa, unión interna, unión izquierda y unión derecha en la colmena junto con su comando y salida. También puede consultar los siguientes artículos para obtener más información.

  1. ¿Qué es una colmena?
  2. Comandos de la colmena
  3. Entrenamiento de la colmena (2 cursos, más de 5 proyectos)
  4. Apache Pig vs Apache Hive - Top 12 diferencias útiles
  5. Características de las alternativas de la colmena
  6. Uso de la función ORDER BY en Hive
  7. Los 6 tipos principales de combinaciones en MySQL con ejemplos

Categoría: