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

cómo almacenar datos procesados ​​​​de hdfs usando mapReduce en mongoDB como salida

Básicamente, lo que necesita es cambiar la "clase de formato de salida", y tiene varias formas de hacerlo:

  1. Usar Conector MongoDB para Hadoop :http://docs.mongodb.org/ecosystem/tools /hadoop/?_ga=1.111209414.370990604.1441913822
  2. Implemente su propio OutputFormat :https://hadoop. apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (En lugar de usar FileOutputFormat).
  3. Ejecutar consultas mongodb dentro del reductor en lugar de escribir en el contexto de MapREduce (no es agradable, podría terminar con archivos de salida vacíos en HDFS según el formato de salida especificado en el controlador)

En mi opinión, la opción 1 es la mejor opción, pero no he usado el conector MongoDB para decir si es lo suficientemente estable y funcional. La opción 2 requiere que realmente comprenda cómo funciona Hadoop internamente para evitar terminar con muchas conexiones abiertas y problemas con transacciones y reintentos de tareas de Hadoop.