Unión lateral del mapa vs. Unirse



Esta publicación analiza la unión lateral de Hadoop Map vs. unirse. Aprenda también qué es la reducción de mapa, unir tabla, unir lado, las ventajas de usar la operación de unión del lado del mapa en Hive

En este blog, discutiremos sobre Unión lateral del mapa y sus ventajas sobre la operación de unión normal en Colmena .Este es un concepto importante que deberá aprender para implementar su .Pero antes de conocer esto, primero debemos entender el concepto de 'Unirse' y lo que sucede internamente cuando realizamos la unión en Colmena .

Unirse es una cláusula que combina los registros de dos tablas (o conjuntos de datos).
Supongamos que tenemos dos tablas A y B. Cuando realizamos la operación de unión en ellas, devolverá los registros que son la combinación de todas las columnas de A y B.





Ahora entendamos la funcionalidad de la combinación normal con un ejemplo.

Siempre que apliquemos la operación de unión, el trabajo se asignará a una tarea de Reducir mapa que consta de dos etapas: una 'Etapa del mapa 'Y un' Reducir etapa '. El trabajo de un mapeador durante la etapa del mapa es 'leer' los datos de tablas de unión y para 'regreso' la 'Clave de unión' y 'Valor de unión' emparejar en un archivo intermedio. Además, en la etapa de reproducción aleatoria, este archivo intermedio se clasifica y combina. El trabajo del reductor durante la etapa de reducción es tomar este resultado clasificado como entrada y completar la tarea de unión.



  • La unión del lado del mapa es similar a una unión, pero toda la tarea la realizará el asignador solo.

  • La combinación del lado del mapa será más adecuada para tablas pequeñas para optimizar la tarea.



¿Cómo optimizará la tarea la combinación del lado del mapa?

Supongamos que tenemos dos mesas de las cuales una es una mesa pequeña. Cuando enviamos una tarea de reducción de mapa, se creará una tarea local de reducción de mapa antes de la tarea de reducción de mapa de unión original que leerá los datos de la tabla pequeña de HDFS y los almacenará en una tabla hash en memoria. Después de leer, serializa la tabla hash en memoria en un archivo de tabla hash.

En la siguiente etapa, cuando se está ejecutando la tarea de reducción de mapa de unión original, mueve los datos del archivo de la tabla hash al caché distribuido de Hadoop, que llena estos archivos en el disco local de cada asignador. Entonces, todos los mapeadores pueden cargar este archivo de tabla hash persistente nuevamente en la memoria y hacer el trabajo de unión como antes. El flujo de ejecución de la combinación de mapas optimizada se muestra en la siguiente figura. Después de la optimización, la tabla pequeña debe leerse solo una vez. Además, si se ejecutan varios mapeadores en la misma máquina, la caché distribuida solo necesita enviar una copia del archivo de tabla hash a esta máquina.

es posgrado lo mismo que maestría

Ventajas de usar unión lateral del mapa:

  • La unión del lado del mapa ayuda a minimizar el costo en el que se incurre para ordenar y combinar en el barajar y reducir etapas.
  • La unión del lado del mapa también ayuda a mejorar el rendimiento de la tarea al disminuir el tiempo para finalizar la tarea.

Desventajas de la combinación del lado del mapa:

  • La unión del lado del mapa es adecuada solo cuando una de las tablas en las que realiza la operación de unión del lado del mapa es lo suficientemente pequeña como para caber en la memoria. Por lo tanto, no es adecuado realizar uniones en el lado del mapa en las tablas que son grandes datos en ambas.

Ejemplo simple de combinaciones de reducción de mapas:

Creemos dos tablas:

  • Emp : contiene detalles de un empleado, como el nombre del empleado, la identificación del empleado y el departamento al que pertenece.

  • Departamento: contiene detalles como el nombre del departamento, la identificación del departamento, etc.

Cree dos archivos de entrada como se muestra en la siguiente imagen para cargar los datos en las tablas creadas.

employee.txt

dept.txt

Ahora, carguemos los datos en las tablas.

Realicemos el Lado del mapa Unirse en las dos tablas para extraer la lista de departamentos en los que trabaja cada empleado.

Aquí el segundo departamento de mesa es una mesa pequeña. Recuerde, siempre el número de departamento será menor que el número de empleados en una organización.

Ahora, realicemos la misma tarea con la ayuda de la combinación de lados reducidos normal.

abstracción de datos en c ++

Al ejecutar ambas combinaciones, puede encontrar las dos diferencias:

  • La combinación de reducción de mapas ha completado el trabajo en menos tiempo en comparación con el tiempo que se tarda en la combinación normal.

  • Map-reduce join ha completado su trabajo sin la ayuda de ningún reductor, mientras que la unión normal ejecutó este trabajo con la ayuda de un reductor.

Por lo tanto, Unión del lado del mapa es su mejor opción cuando una de las tablas es lo suficientemente pequeña como para caber en la memoria para completar el trabajo en un período corto de tiempo.

En Entorno en tiempo real , tendrá conjuntos de datos con una gran cantidad de datos. Por lo tanto, realizar análisis y recuperar los datos llevará mucho tiempo si uno de los conjuntos de datos es de menor tamaño. En esos casos Unión del lado del mapa ayudará a completar el trabajo en menos tiempo.

¡Nunca ha habido un mejor momento para dominar Hadoop! Comience ahora con el curso de Big Data y Hadoop especialmente seleccionado por Edureka.

Referencias:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

Artículos Relacionados:

7 formas en las que la capacitación en Big Data puede cambiar su organización

tutorial de microsoft sql server para principiantes