sql >> Base de Datos >  >> NoSQL >> MongoDB

Hadoop Map/Reduce frente a Map/Reduce integrado

Mi respuesta se basa en el conocimiento y la experiencia de Hadoop MR y el aprendizaje de Mongo DB MR. Veamos cuáles son las principales diferencias y luego intentemos definir los criterios de selección:Las diferencias son:

  1. El MR de Hadoop se puede escribir en Java, mientras que el de MongoDB está en JavaScript.
  2. El MR de Hadoop es capaz de utilizar todos los núcleos, mientras que el de MongoDB es de un solo subproceso.
  3. Hadoop MR no se ubicará junto con los datos, mientras que Mongo DB sí lo hará.
  4. Hadoop MR tiene millones de horas/motor y puede hacer frente a muchos casos de esquina con un tamaño masivo de salida, datos sesgados, etc.
  5. Hay estructuras de nivel superior como Pig, Hive, Cascading construidas sobre el motor Hadoop MR.
  6. Hadoop MR es estándar y cuenta con mucho apoyo de la comunidad.

A partir de lo anterior, puedo sugerir los siguientes criterios de selección:
Seleccione Mongo DB MR si necesita agrupar y filtrar de manera simple, no espere cambios pesados ​​entre mapear y reducir. En otras palabras, algo simple.

Seleccione hadoop MR si va a realizar trabajos de MR complicados y computacionalmente intensos (por ejemplo, algunos cálculos de regresión). Tener una gran cantidad de datos o un tamaño impredecible entre mapear y reducir también sugiere Hadoop MR.

Java es un lenguaje más fuerte con más bibliotecas, especialmente estadísticas. Eso debe tenerse en cuenta.