MapReduce es un concepto de programación esencial que debe dominar para convertirse en un ingeniero de datos profesional. Proporciona soluciones para sistemas distribuidos de gestión de archivos de big data. Por lo tanto, comprender los antecedentes teóricos de MapReduce facilitará el aprendizaje de la técnica.
Pero, ¿qué es MapReduce y cómo funciona en los sistemas de archivos distribuidos? Lo descubrirás en esta publicación.
¿Qué es MapReduce?
MapReduce es un modelo de ingeniería de datos aplicado a programas o aplicaciones que procesan lógica de big data dentro de clústeres paralelos de servidores o nodos. Distribuye una lógica de procesamiento a través de varios nodos de datos y agrega los resultados en el cliente-servidor.
MapReduce garantiza que el procesamiento sea rápido, eficiente en memoria y confiable, independientemente del tamaño de los datos.
Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS y más son ejemplos de sistemas de archivos de big data distribuidos que utilizan el algoritmo MapReduce.
¿Qué es un sistema de archivos distribuido?
Un sistema de archivos distribuido (DFS) es un método de almacenamiento en informática que implica dividir archivos de datos grandes en fragmentos más pequeños y distribuirlos en varios servidores dentro del sistema. Permite a los clientes de diversas fuentes escribir y leer datos, compartir y ejecutar lógica programable en los datos, desde cualquier lugar.
Un sistema de archivos distribuido normalmente consiste en el servidor primario (también llamado NameNode en Hadoop), clústeres paralelos y varios nodos o servidores que contienen fragmentos de datos replicados, todo en un conjunto de datos centrar. Sin embargo, cada clúster dentro del sistema de archivos distribuido contiene cientos o miles de estos nodos.
El servidor principal detecta automáticamente los cambios dentro de los clústeres. Por lo tanto, puede asignar roles en consecuencia a cada nodo.
Cuando el servidor principal recibe un archivo de datos, lo envía a los clústeres dentro del DFS. Estos clústeres fragmentan y distribuyen los datos en cada nodo dentro de ellos. Luego, cada nodo replica los datos en lo que se llama bloques de datos para formar una cadena. En este punto, cada nodo se convierte en un servidor de fragmentos.
Relacionados:¿Qué son los centros de datos y por qué son importantes?
Además de gestionar el acceso a los datos, el servidor principal mantiene una anotación de metadatos en cada archivo. De esa forma, sabe qué nodo maneja qué archivo en cada clúster.
¿Cómo funciona MapReduce en sistemas de archivos distribuidos?
Como se mencionó anteriormente, los grandes datos están disponibles en varios servidores de fragmentos en un DFS. Una forma de realizar una lógica programable en estos archivos de datos es agregarlos en uno. Luego puede colocarlos en un solo servidor, que ahora maneja la lógica.
Si bien esa es una forma convencional de consultar datos, el problema es que los datos vuelven a ser un todo dentro del servidor único. Por lo tanto, un solo servidor aún tendrá que administrar la lógica en varios petabytes de datos a la vez. Desafortunadamente, este era el problema que el sistema pretendía resolver en un principio. Así que no es una mejor práctica, después de todo.
Relacionados:Cómo consultar varias tablas de bases de datos a la vez con uniones SQL
Además, dicha agregación en un solo servidor plantea varios riesgos de rendimiento. Estos pueden variar desde un bloqueo del servidor, poca eficiencia de cálculo, alta latencia, alto consumo de memoria y vulnerabilidades a más.
Pero otra forma de ejecutar la lógica programable es dejar los datos en fragmentos dentro de cada servidor distribuido. Y luego inyectar la función lógica en cada servidor. Significa que cada servidor de fragmentos dentro de un clúster ahora maneja su cálculo. El uso de este enfoque significa que no hay necesidad de agregar o extraer datos en un solo servidor.
Que existe el concepto MapReduce en un sistema de archivos de datos distribuidos. Garantiza que un solo servidor no necesite extraer datos de la fuente. En su lugar, dispersa la función de procesamiento (MapReduce) en varios nodos de fragmentos por separado. clústeres, por lo que cada nodo dentro de cada clúster maneja la lógica individualmente sin sobrecargar un solo servidor.
En consecuencia, varios servidores manejan la lógica en bits de datos al mismo tiempo. Esta distribución de la mano de obra entre los servidores da como resultado un rendimiento óptimo y una mayor seguridad, entre otras cosas positivas.
¿Cómo se procesa el resultado de MapReduce en un DFS?
Así es como funciona todo el procesamiento de MapReduce en un DFS:
- El servidor primario recibe una consulta de big data (función MapReduce) del cliente.
- Luego envía esto a cada clúster para distribuirlo en cada nodo dentro de él.
- Cada nodo procesa la función MapReduce y acumula su resultado.
- Otro servidor recopila los resultados de cada nodo y los envía de vuelta al servidor principal.
- El servidor principal luego envía el resultado como respuesta al cliente.
Por lo tanto, el único trabajo de un servidor primario es enviar un resultado calculado fácilmente al cliente, escuchar los cambios y administrar el acceso a los datos. No realiza ningún cálculo. Esta es la razón por la que la mayoría de las aplicaciones de computación en la nube son increíblemente rápidas a pesar de la cantidad de datos que procesan.
¿Qué es exactamente Map y Reduce en MapReduce?
MapReduce utiliza dos lógicas de programación para procesar big data en un sistema de administración de archivos distribuidos (DFS). Estos son un mapa y una función de reducción.
los mapa hace el trabajo de procesamiento en cada uno de los nodos de datos en cada clúster de un sistema de archivos distribuido. los reducir Luego, la función agrega los resultados devueltos por cada servidor de fragmentos y los pasa a otro servidor dentro del DFS para la agregación de resultados. El servidor receptor envía este cálculo al servidor principal, que publica el valor devuelto en el servidor del lado del cliente.
¿Qué sucede cuando un servidor de fragmentos se cae?
Los servidores dentro de un sistema de archivos distribuido (DFS) pueden experimentar tiempos de inactividad a veces. Puede pensar que esto romperá todo el sistema, pero no es así.
Hay un sistema en computación que evita tal avería inminente. Se llama tolerancia a fallos.
Relacionados:¿Qué es la computación en la nube? ¿Cómo funciona la tecnología de la nube?
Por lo tanto, incluso cuando un servidor se apaga durante el procesamiento de datos, la tolerancia a fallas garantiza que el servidor principal lo detecte de inmediato. Y dado que hay una réplica de los fragmentos de datos en los nodos, el servidor principal transfiere instantáneamente el trabajo de procesamiento a otro servidor. De esa forma, el tiempo de inactividad del servidor dentro del DFS no afecta el procesamiento de datos.
MapReduce facilita el procesamiento de Big Data
MapReduce es un modelo esencial que facilita la computación en sistemas de archivos distribuidos. Debido a que permite que varios nodos ejecuten un cálculo simultáneamente, es un método rápido utilizado por varios gigantes tecnológicos para resolver muchos de los problemas que acompañan al análisis de big data.
Google, Amazon, IBM, entre otras, son ejemplos de empresas que utilizan este concepto. Google, por ejemplo, aplica el concepto MapReduce para traer resultados de consulta durante la búsqueda de Google.
Big data impulsa muchas industrias y tiene un efecto en todas nuestras vidas. Pero, ¿es más peligroso o útil?
Leer siguiente
- Programación
- Programación
- Grandes datos
- Análisis de los datos

A Idowu le apasiona la tecnología inteligente y la productividad. En su tiempo libre, juega con la codificación y cambia al tablero de ajedrez cuando está aburrido, pero también le encanta romper con la rutina de vez en cuando. Su pasión por mostrarle a la gente el camino alrededor de la tecnología moderna lo motiva a escribir más.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse