2011-09-24 16 views
7

Según el Hadoop : The Definitive Guide.¿Cómo extraer datos en las funciones Mapa/Reducir?

La nueva API admite un estilo de iteración "push" y "pull". En ambas API, los pares de registros de valores clave se envían al asignador, pero además, la nueva API permite que un asignador extraiga registros desde el método map(). Lo mismo aplica para el reductor. Un ejemplo de cómo puede ser útil el estilo "pull" es procesar registros en lotes, en lugar de uno por uno.

¿Alguien ha extraído datos en las funciones de Mapa/Reducir? Estoy interesado en la API o el ejemplo para el mismo.

Respuesta

5

Publiqué una consulta @ [email protected] y obtuve la respuesta.

El siguiente par de valores clave se puede recuperar del objeto de contexto que se pasa al mapa, llamando al nextKeyValue(). Por lo tanto, podrá extraer los próximos datos de la nueva API.

¿El rendimiento de pull es mejor que push en este escenario? Además, ¿cuáles son los escenarios en los que la extracción será útil?

+0

Creo que este escenario va a ser útil cuando su procesamiento de la clave/valor actual va a depender del siguiente par de valores clave. –

+0

Podría haberse hecho con la API anterior y la nueva. Pero, el desafío es manejar la situación cuando los datos se distribuyen en bloques. –

+0

¿Cómo puedes hacerlo con la antigua API? –

Cuestiones relacionadas