2011-08-08 28 views
15

Estoy trabajando en una aplicación basada en la red de redes sociales, que utiliza el servidor web Apache y el servidor MYSQL para la base de datos con marcos MVC codeigniter. No sé cómo integrar Hadoop en esta aplicación y cómo escribir el programa map-reduce.cómo usar hadoop para una aplicación web?

Respuesta

13

Hadoop y map-reduce no tienen una relación directa con las aplicaciones web. No debe integrar Hadoop en una aplicación web siempre que comprenda la aplicación web como algo que responde (rápidamente) a la entrada del usuario (solicitudes web).

Hadoop y map-reduce son muy útiles para algoritmos que se ejecutan en grandes conjuntos de datos con el fin de transformar/extraer datos/conocimiento de esos conjuntos de datos.

+3

gracias por la respuesta, me doy cuenta de que Hadoop no es para la aplicación en tiempo real. Es útil para el procesamiento fuera de línea. Hbase es para lectura y escritura dinámicas en tiempo real. así que escribe ahora aprendiendo Hbase. – Rashmi

+0

Según tengo entendido, Spark tiene capacidades en tiempo real y, a menudo, puede sustituir a MapReduce. ¿Qué hora es para ti, @Rashmi? –

3

Creo que Hadoop puede tener dos usos "clásicos" para el estilo de red social de las aplicaciones.

Primero está el uso de HBASE para almacenar mensajes y otra información dinámica. También se puede considerar el almacenamiento de perfiles de usuario en HBASE para reemplazar por completo a MySQL con este tipo de solución NoSQL.

El segundo es el uso de Hadoop MapReduce para el análisis de Su red. Un buen ejemplo de dicho análisis es buscar sugerencias de amigos.

+0

Gracias por responder, estoy configurado Hbase en modo independiente. Cómo usar este modo para cualquier aplicación. Sé que Java.Mi sitio web está basado en codeigniter y php. cualquier ayuda en esto. gracias – Rashmi

+0

El modo independiente HBase se puede usar como de costumbre, pero no se debe usar para evaluar el rendimiento, porque HDFS no está involucrado. ¿Qué problema estás tratando de resolver con HBase? –

1

Al usar hadoop analiza tus datos y lleva los resultados a tu base de datos mysql. Luego, usa eso con tu aplicación web.

8

Si bien es cierto que Hadoop actualmente se utiliza principalmente para "análisis sin conexión", también puede ser útil para proyectos web. Por ejemplo, precomputar recomendaciones o sugerencias que luego se proporcionan a los usuarios de un sitio web.

Otro caso de uso es poder ETL a partir de múltiples fuentes de datos para producir un índice invertido para un sitio web (por ejemplo, trabajos/coches/alquileres -como sitios web con grandes cantidades de datos de entrada).

Siempre piense en Hadoop cuando tiene un problema de "Big Data", no si su sitio web está administrando pequeñas cantidades de datos.

Usar Hadoop para abordar este tipo de problemas tiene algunas ventajas y desventajas. La ventaja obvia es que hace que cualquier tipo de proceso por lotes (como los ejemplos que mencioné) se escala de forma transparente. La desventaja es que no es en tiempo real: no puede usar Hadoop para actualizar su sitio web cada 5 segundos.

+3

La pregunta era "Cómo usar Hadoop ...". – chepseskaf

+1

Además, no entiendo cómo sus ejemplos contrastan con los "análisis sin conexión". Lo que describes es un procesamiento fuera de línea. –

1

Sí, es posible hacer aplicaciones web utilizando Hadoop Apache como un back-end

Puede crear una aplicación web usando apache y pig puede escribir correlacionador personalizado y reductores y usar como udf, pero la experiencia personal es lenta, en caso de que tenga muy pocos datos, es mejor usar otra base de datos y hacer análisis. , Prefiero chispa es la solución para un mejor tiempo de respuesta ..

+0

¿Cómo se podría hacer esto directamente? - ¿No hay una forma directa de conectar una aplicación web con Hadoop? ¿Puedes proporcionar un sitio de referencia para este @shubham? – Jayendran

Cuestiones relacionadas