Definición
Es un procesamiento distribuido de datos utilizando un Cluster de computadoras. Para esto se necesita un Almacenamiento distribuido que se encargue de guardar la información para procesar, y un File system distribuido para organizarlo. Esto lo aplica en dos etapas:
Map
Definición
Para esto el usuario especifica una función map que procesa un par clave-valor para generar un conjunto intermedio de pares clave-valor.
Esta transforma nuestros datos, y tiene que ser aplicada a cada dato de nuestro set. Por eso lo recomendable es que sea paralelizable y de esa forma poder distribuirse entre las distintas máquinas de un cluster.
Link to original
Reduce
Definición
Se debe especificar también una función reduce que es una acción que combina todos los valores asociados a la misma clave.
Combina los resultados de una transformación, por lo tanto es necesario procesar los datos de todas las máquinas del Cluster. Reduce de forma local en paralelo y reduce entre máquinas mediante la Etapa de shuffle & sort.
Esta acción nos permite obtener un solo registro de un RDD, combinando el resultado en base a una función dada.
Link to original