En MapReduce, ¿qué fase es responsable de la descomposición de la tarea?
En el modelo informático MapReduce, la descomposición de tareas es responsable de JobTracker.
La descomposición de tareas es el primer paso en todo el proceso de procesamiento de tareas de MapReduce. Es el principal responsable de dividir el conjunto de datos de entrada en un número fijo de pequeños datos y asignarlos a varios. Tareas de mapas para procesamiento paralelo. El propósito de la descomposición de tareas es mejorar el paralelismo y la eficiencia del procesamiento de toda la tarea.
Específicamente, JobTracker es responsable de los siguientes procesos principales de descomposición de tareas:
1. Primero, JobTracker calculará cómo dividir el conjunto de datos en fragmentos según la cantidad de mapas especificados. por el usuario. El tamaño de cada fragmento suele ser el tamaño del bloque de datos en HDFS (el valor predeterminado es 128 MB); si el último fragmento es más pequeño que el tamaño del fragmento estándar, se tratará como un fragmento separado.
2. Luego, JobTracker seleccionará los nodos de TaskTracker disponibles y asignará la cantidad de tareas de Mapa y Reducción ejecutadas simultáneamente en función de la información de recursos, como la cantidad de procesadores disponibles y el tamaño de la memoria del nodo.
3. Finalmente, JobTracker asigna la tarea al nodo de ejecución de TaskTracker, monitorea la ejecución de la tarea para garantizar que se complete como se esperaba, resume los resultados y los envía al usuario.
En resumen, en el modelo informático MapReduce, la descomposición de tareas es una parte clave para lograr un alto rendimiento y un procesamiento de alta concurrencia de grandes conjuntos de datos, y se requiere que JobTracker sea responsable de asignar y coordinar el proceso de ejecución de tareas. .
Introducción a MapReduce:
MapReduce es un modelo de programación para la computación paralela de conjuntos de datos a gran escala. Proporciona una gran comodidad para que los programadores ejecuten programas en sistemas distribuidos sin comprender la programación paralela distribuida.
La implementación de software actual especifica una función Map para asignar un conjunto de pares clave-valor a un nuevo conjunto de pares clave-valor, y una función Reducep concurrente para garantizar que cada * ** comparta el mismo conjunto de claves en todos los pares clave-valor asignados.
MapReduce logra confiabilidad al distribuir operaciones a gran escala en un conjunto de datos a cada nodo de la red; cada nodo devuelve periódicamente su trabajo completado y su estado más reciente.
Si un nodo permanece en silencio durante más tiempo que un intervalo preestablecido, el nodo maestro (similar al servidor maestro en Google File System) registrará el estado del nodo como inactivo y lo asignará a Los datos del nodo se envían a otro nodo.