Resumen:
¿Es posible:¿Es posible leer datos de MongoDB, procesarlos con Hadoop y enviarlos a un RDBS (MySQL)?
- Importar datos en Hadoop con el «Conector MongoDB para Hadoop».
- Procéselo con Hadoop MapReduce.
- Exportar con Sqoop en una sola transacción.
Estoy construyendo una aplicación web con MongoDB. Aunque MongoDB funciona bien durante la mayor parte del trabajo, en algunas partes necesito garantías transaccionales más sólidas, para lo cual utilizo una base de datos MySQL.
Mi problema es que quiero leer una gran colección MongoDB para el análisis de datos, pero el tamaño de la colección significa que el trabajo analítico demorará demasiado en procesarse. Desafortunadamente, el framework de reducción de mapas integrado de MongoDB no funcionaría bien para este trabajo, por lo que preferiría llevar a cabo el análisis con Apache Hadoop.
Entiendo que es posible leer datos de MongoDB en Hadoop utilizando «MongoDB Connector for Hadoop», que lee datos de MongoDB, los procesa con MapReduce en Hadoop y finalmente los devuelve a una base de datos MongoDB.
El problema es que quiero que la salida de MapReduce vaya a una base de datos MySQL, en lugar de a MongoDB, porque los resultados deben combinarse con otras tablas de MySQL.
Para este propósito, sé que Sqoop puede exportar el resultado de un Hadoop MapReduce a MySQL.
En última instancia, también quiero leer los datos de MongoDB, luego procesarlos con Hadoop y finalmente enviar el resultado a una base de datos MySQL.
¿Esto es posible? ¿Qué herramientas están disponibles para hacer esto?
su pregunta podría hacerse mucho más clara. No estoy seguro de lo que estás tratando de hacer. Editaré tu pregunta para reflejar lo que creo que estás tratando de decir, pero tu aclaración también sería útil. – brice
Actualizo mi pregunta para aclarar – paganotti
eche un vistazo a mi respuesta actualizada, que debe explicar cómo puede hacer lo que está pidiendo. – brice