sql >> Base de Datos >  >> NoSQL >> HBase

Introducción a la localidad de datos en Hadoop MapReduce

En este tutorial de Hadoop, vamos a explicarte el concepto de localidad de datos en Hadoop.

En primer lugar, veremos la introducción a la localidad de datos de MapReduce en Hadoop, luego discutiremos la necesidad de la localidad de datos de Hadoop a continuación con las categorías de localidad de datos en MapReduce, optimización de la localidad de datos.

Por fin, veremos las ventajas del principio de Hadoop Data Locality en este tutorial de MapReduce.

¿Qué es la localidad de datos en Hadoop MapReduce?

La localidad de datos en Hadoop es el proceso de mover el cómputo cerca de donde residen los datos reales en lugar de mover grandes datos al cómputo. Esto minimiza la congestión general de la red. Esto también aumenta el rendimiento general del sistema.

El principal inconveniente de Hadoop era el tráfico de red entre conmutadores debido a la gran cantidad de datos. Para superar este inconveniente, surgió Data Locality.

En Hadoop, HDFS almacena conjuntos de datos. Framework divide los conjuntos de datos en bloques y los almacena en los nodos de datos. Cuando un cliente ejecuta el trabajo de MapReduce, NameNode envía el código de MapReduce a los nodos de datos en los que hay datos disponibles según el trabajo de MapReduce.

Requisito para la localidad de datos de Hadoop

La arquitectura de Hadoop debe satisfacer las siguientes condiciones para obtener los beneficios de todas las ventajas de la localidad de datos:

  • Primero, el clúster de Hadoop debe tener la topología adecuada. El código de Hadoop debe tener la capacidad de leer la localidad de datos.
  • En segundo lugar, Apache Hadoop debe conocer la topología de los nodos donde se ejecutan las tareas. También Hadoop debe saber dónde se encuentran los datos.

Categorías de localidad de datos en Hadoop

Las diversas categorías en Hadoop Data Locality son las siguientes:

1. Localidad de datos locales de datos en Hadoop

En esto, los datos se ubican en el mismo nodo que el mapeador trabajando en los datos. En esto, la proximidad de los datos está muy cerca de la computación. La localidad de datos local de datos es el escenario más preferido.

2. Localidad de datos Intra-Rack en Hadoop

Como sabemos, no siempre es posible ejecutar el mapeador en el mismo nodo de datos debido a limitaciones de recursos. En este caso, se prefiere ejecutar el mapeador en un nodo diferente pero en el mismo bastidor.

3. Localidad de datos Inter–Rack en Hadoop

A veces tampoco es posible ejecutar mapper en un nodo diferente en el mismo rack. En tal situación, ejecutaremos el mapeador en los nodos en diferentes bastidores. La localidad de datos entre racks es el escenario menos preferido.

Optimización de localidad de datos de Hadoop

Dado que la localidad de datos es la principal ventaja de Hadoop Mapa reducido. Pero esto no siempre es beneficioso en la práctica debido a varias razones, como clúster heterogéneo, ejecución especulativa, distribución y ubicación de datos y diseño de datos.

En los grandes clústeres, los desafíos se vuelven más frecuentes. Como en un clúster grande, a mayor cantidad de nodos de datos y datos, menor es la localidad.

En clústeres más grandes, algunos nodos son más nuevos y más rápidos que otros, lo que genera un desequilibrio en la relación de datos a cómputo. Por lo tanto, los conglomerados grandes tienden a no ser completamente homogéneos.

En la ejecución especulativa de Hadoop, ya que es posible que los datos no sean locales, pero utilizan la potencia de cómputo. La causa principal también radica en el diseño/ubicación de los datos. Además, el procesamiento de datos no locales ejerce presión sobre la red, lo que crea un problema para la escalabilidad. Por lo tanto, la red se convierte en el cuello de botella.

También podemos mejorar la ubicación de los datos al detectar primero qué trabajos se han degradado con el tiempo o si hay un problema de ubicación de los datos. La resolución de problemas es más compleja e implica cambiar la ubicación y el diseño de los datos mediante un programador diferente.

Después de eso, tenemos que verificar si una nueva ejecución de la misma carga de trabajo tiene una mejor proporción de localidad de datos.

Ventajas de la localidad de datos en Hadoop

  • Alto rendimiento:  La localidad de datos en Hadoop aumenta el rendimiento general del sistema.
  • Ejecución más rápida:  En la localidad de datos, el marco mueve el código al nodo donde residen los datos en lugar de mover grandes datos al nodo. Por lo tanto, esto hace que Hadoop sea más rápido. Debido a que el tamaño del programa siempre es menor que el tamaño de los datos, mover datos es un cuello de botella en la transferencia de red.

Conclusión

En conclusión, la localidad de datos en Hadoop mejora la ejecución general del sistema y hace que Hadoop sea más rápido. Por lo tanto, reduce la congestión de la red.

Si encuentra útil este blog, o si tiene alguna consulta, deje un comentario en la sección de comentarios a continuación. Estaremos encantados de resolverlos.