2012-01-12 14 views
8

Ok, estoy intentando aprender Hadoop y mapreduce. Realmente quiero empezar con mapreduce y lo que encuentro son muchos, muchos ejemplos simplificados de mapeadores y reductores, etc. Sin embargo, he visto que me falta algo. Mientras que un ejemplo que muestra cuántas ocurrencias de una palabra hay en un documento es simple de entender, realmente no me ayuda a resolver ningún problema del "mundo real". ¿Alguien sabe de un buen tutorial de implementación de mapreduce en una situación de psicodo realista? Digamos, por ejemplo, que quiero usar hadoop y mapreduce en la parte superior de un almacén de datos similar a Adventureworks. Ahora quiero obtener pedidos para un producto determinado en el mes de mayo. ¿Cómo se vería eso desde la perspectiva de hadoop/mapreduce? (Me doy cuenta de que este no es el tipo de problema que mapreduce tiene la intención de resolver, pero me vino a la mente rápidamente)Mapreduce for dummies

Cualquier dirección ayudaría.

Respuesta

13

El libro Hadoop: The Definitive Guide es un buen lugar para comenzar. Los capítulos introductorios deberían ser realmente útiles para que descubras dónde es útil MapReduce y cuándo deberías usarlo. Los capítulos más avanzados tienen muchos ejemplos más realistas que el recuento de palabras.

Si desea sumergirse más profundo, es posible que desee comprobar Data-Intensive Text Processing with MapReduce. Esto definitivamente tiene muchos casos de uso del "mundo real", pero no parece que le interese hacer el procesamiento de texto.


Para su ejemplo particular, las cosas principales a realizar son:

  • fase El mapa es sobre todo para el análisis, la transformación de los datos, y el filtrado de datos. Piense en el enfoque de registro por registro y de nada compartido para el procesamiento de registros. En el conteo de palabras, esto es analizar la línea y dividir las palabras.
  • La fase de reducción tiene que ver con la agregación: conteo, promediado, mínimo/máximo, etc. En el recuento de palabras, esto es contar las instancias de la palabra.

Por lo tanto, si desea todos los registros de un producto determinado en el mes de mayo, puede utilizar un trabajo de solo mapa para filtrar todos los datos y solo conservar los registros que desee. Sin embargo, realmente deberías leer sobre para qué es útil Hadoop. La pregunta que cabría mejor a Hadoop sería: dame un recuento de cuántas veces se compró cada artículo en cada mes (para construir una matriz, tal vez). Muy rara vez está buscando registros específicos como sugiere.

Si está buscando una plataforma de acceso más en tiempo real, debe consultar HBase una vez que haya terminado de aprender sobre Hadoop.

+0

¡Sobresaliente! Muchas gracias! – RockyMountainHigh

+4

"Quiero ver más ejemplos además del conteo de palabras" es un problema común entre las personas más nuevas, y desafortunadamente, las mejores explicaciones están impresas. –

4

Hadoop puede ser utilizado para una amplia variedad de problemas. Mira esta entrada de blog desde atbrox. Además, hay mucha información en Internet sobre Hadoop y MapReduce y es fácil perderse. Por lo tanto, here es la lista consolidada de recursos en Hadoop.

BTW, Hadoop - The Definitive Guide 3rd edition es debido en mayo. Parece que también cubre MRv2 (NextGen MapReduce) y también incluye más casos de estudio. La segunda edición vale como se menciona por orangeoctopus.

+0

Enlace roto .... – UpTheCreek

+0

actualizado gracias –

0

MapReduce puede ser un tema complejo, así que me resultó más fácil de entender al aplicar su enfoque a un problema simple. Luego paso a describir cómo MapReduce hace que sea sencillo resolver el mismo problema en un clúster. Puedes echar un vistazo a mi artículo aquí: Intro to Parallel Processing with MapReduce.

Avíseme si cree que este artículo facilita la comprensión de MapReduce y Hadoop.