Cómo explicarle Mapreduce a tu esposa
Ayer di una charla sobre MapReduce en la oficina de Xebia India. La charla transcurrió bien y la audiencia pudo comprender los conceptos de MapReduce (basándose en sus comentarios). Tuve el placer de explicar los conceptos de MapReduce a una audiencia técnica (principalmente programadores de Java, algunos programadores de Flex y algunos evaluadores). Después de todo el duro trabajo, tuvimos una agradable cena en la oficina de Xebia India y me fui directamente a casa.
Después de regresar a casa, mi esposa (Supriya) preguntó: "¿Cómo estuvo tu reunión? Le dije que no estuvo mal.
Luego me preguntó cuál era el tema de la reunión ( ella no era software ni programación). Le dije MapReduce: "Mapduce, ¿qué diablos es eso?" Ella preguntó:
"¿Tiene algo que ver con los mapas topográficos? Le dije que no, que no tiene nada que ver con los mapas topográficos". Entonces, ¿qué es exactamente? " preguntó mi esposa.
"Está bien... vamos a Domino's y te lo explicaré en la mesa. La esposa dijo: "Está bien". Luego fuimos a la pizzería.
Después de pedir en Domino's, la persona del mostrador nos dijo que la pizza tardaría 15 minutos en estar lista. Entonces le pregunté a mi esposa: "¿Realmente quieres saber qué es MapReduce?". Ella respondió con firmeza: "Sí. Entonces le pregunté:
Yo: ¿Cómo se hace la salsa de cebolla y chile? Esto no es exacto. receta así que no la pruebes en casa)
Esposa: Corto las cebollas, le agrego sal y agua y las meto en un molinillo para hacer la salsa de chile con cebolla
Esposa: Pero, ¿qué tiene esto que ver con MapReduce?
Yo: Déjame inventar un diagrama completo para que puedas descubrir MapReduce en 15 minutos
Esposa: Tomaré una. un puñado de hojas de menta, una cebolla, un tomate, un pimiento y un ajo, picarlos, añadirles la cantidad adecuada de sal y agua y triturarlos con una batidora, para obtener una botella de mezcla de salsa picante. /p>
Yo: Sí, apliquemos el concepto de MapReduce a la receta. Map y Reduce son en realidad dos operaciones, déjame explicártelo en detalle.
p>Map: Cortar un. cebolla, un tomate, un pimiento y un ajo es una operación de Map y funciona en cada objeto. Entonces, le das a Map una cebolla y Map cortará la cebolla.
De manera similar, le das pimientos. , ajo y tomates al Mapa uno por uno, y obtienes varios trozos picados. Entonces, cuando picas vegetales como cebollas, estás realizando una operación de Mapa.
La operación del Mapa funciona para cada tipo de vegetal. y produce uno o más bloques en consecuencia, en nuestro caso bloques de vegetales. En una operación de Mapa, puede haber una situación en la que las cebollas se rompan, en cuyo caso solo necesita
las cebollas malas se desechan. Por lo tanto, si hay cebollas en mal estado, la operación Mapa filtrará las cebollas en mal estado sin producir trozos de cebolla en mal estado.
Reducción: en esta etapa, muele varias verduras picadas en un molinillo y obtiene una botella. de salsa de chile Es decir, para hacer una botella de salsa de chile, hay que moler todos los ingredientes, el rallador generalmente junta las verduras picadas en la operación MAP
Esposa: ¿Entonces esto es MapReduce?
Yo: Puedes decir sí o no. En realidad, es solo una parte de MapReduce, y el poder de MapReduce radica en la computación distribuida.
Esposa: ¿Computación distribuida? ¿Qué es eso? Por favor explícamelo.
Yo: No hay problema.
Yo: digamos que participas en un concurso de salsa picante y tu receta gana el premio a la mejor salsa picante. Después de ganar el premio, la receta de salsa picante se vuelve tan popular que querrás comenzar a vender tu propia marca de salsa picante. Suponga que necesita producir 10.000 botellas de salsa picante todos los días.
Esposa: Buscaré un proveedor y le pediré que me proporcione ingredientes a granel.
Yo: Sí... eso es todo. ¿Puedes completar la producción solo? En otras palabras, ¿una persona pica todos los ingredientes? ¿Es suficiente un molinillo? Ahora, también debemos proporcionar diferentes tipos de salsa de chile, como salsa de chile con cebolla, salsa de chile con pimiento verde, salsa de chile con tomate, etc.
Esposa: Claro que no, contrataré más trabajadores para cortar verduras. También necesito más molinillos para poder producir salsa picante más rápido.
Yo: Así es, entonces ahora tienes que dividir el trabajo y necesitas que varias personas piquen las verduras juntas. Todo el mundo tiene que lidiar con una bolsa llena de verduras, y todo el mundo tiene que realizar lo que equivale a una simple operación de "mapa". Cada persona seguirá sacando verduras de la bolsa, trabajando una verdura a la vez, es decir, cortándolas, hasta que la bolsa esté vacía.
De esta forma, cuando todos los trabajadores hayan terminado de cortar, habrá trozos de cebolla, trozos de tomate, ajos, etc. sobre el banco de trabajo (donde todos trabajan).
Esposa: ¿Pero cómo puedo hacer diferentes tipos de ketchup?
Yo: Ahora verás la fase que MapReduce omite: la fase de agitación. MapReduce mezcla todas las verduras picadas producidas mediante operaciones de mapas basadas en claves. La agitación se realizará automáticamente y puedes asumir que la clave es el nombre de un ingrediente, como la cebolla.
Así, todas las llaves de cebolla se revolverán juntas y luego se enviarán al molinillo donde se triturarán las cebollas. De esta manera obtendrás tu salsa de chile y cebolla. Asimismo, se pasan todos los tomates al molinillo con la etiqueta tomates
Esto crea la salsa de tomate y chile.
Cuando la pizza finalmente estuvo lista, ella asintió y dijo que sabía qué era MapReduce. Solo espero que la próxima vez que escuche sobre MapReduce, comprenda mejor qué estoy haciendo exactamente.
Nota del editor: así es como otros en Internet explican MapReduce en los términos más simples:
Queremos contar
Todas las cosas que hay en los libros de la biblioteca. Tú cuentas la estantería 1, yo cuento la estantería 2. Este es el mapa.
Cuanta más gente, mayor será la velocidad.
Queremos contar todos los libros de la biblioteca. Tú cuentas la estantería 1, yo cuento la estantería 2. Este es "mapa". Cuantos más seamos, más rápido podremos contar libros.
Ahora nos reunimos y sumamos nuestras cuentas individuales. Esto es restauración. Esto es restauración.
Autor original: Shekhar Gulati, compilado por: Bole Online?-Huang Huiyu
/1321/