Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Map-Reduce
/ / /

Map-Reduce y colecciones fragmentadas

Nota

Pipeline de agregación como alternativa a Map-Reduce

A partir de MongoDB 5.0, El map-reduce está en desuso:

Para ejemplos de alternativas de pipeline de agregación a map-reduce, consulte:

map-reduce soporta operaciones en colecciones particionadas, tanto como entrada como salida. Esta sección describe los comportamientos de mapReduce específicos de las colecciones particionadas.

Al usar una colección fragmentada como entrada para una operación de map-reduce, enviará automáticamente el trabajo de map-reduce a cadamongos mongos fragmento en paralelo. No se requiere ninguna opción especial. esperará a que finalicen los trabajos en todos los fragmentos.

Si el campo out de mapReduce tiene el valor sharded, MongoDB particiona la colección de resultados utilizando el campo _id como la clave de partición.

Para enviar a una colección particionada:

  • Si la colección de salida no existe, primero crea la colección particionada.

  • Si la colección de salida ya existe pero no está particionada, la operación de Map-Reduce falla.

  • Para una colección particionada nueva o vacía, MongoDB utiliza los resultados de la primera etapa de la operación map-reduce para crear los fragmentos iniciales distribuidos entre las particiones.

  • mongos despacha, en paralelo, una tarea de posprocesamiento map-reduce a cada partición que posee un fragmento. Durante el postprocesamiento, cada partición extraerá los resultados de sus propios fragmentos de las otras particiones, ejecutará la reducción/finalización final y escribirá localmente en la colección de salida.

Nota

  • Durante trabajos de reducción de mapas posteriores, MongoDB divide fragmentos según sea necesario.

  • El equilibrado de fragmentos para la colección de salida se evita automáticamente durante el post-procesamiento para impedir problemas de concurrencia.

Volver

Map-Reduce

En esta página