Pregunta

Espero que estoy pidiendo esto de la manera correcta. Estoy aprendiendo mi camino por Elastic MapReduce y he visto numerosas referencias al reductor de "agregado" que se puede utilizar con "streaming" flujos de trabajo.

En "Introducción a Amazon Elastic MapReduce" de Amazon PDF se afirma "Amazon Elastic MapReduce tiene un reductor defecto llamada aggregrate"

Lo que me gustaría saber es: hay otros reductores defecto availiable

?

Yo entiendo que puedo escribir mi propio reductor, pero no quiero terminar de escribir algo que ya existe y "reinventar la rueda" porque estoy seguro de que mi rueda no será tan bueno como el original.

¿Fue útil?

Solución

Estoy en una situación similar. Deduzco de los resultados de Google, etc que la respuesta en este momento es "No, no hay otros reductores defecto en Hadoop", que tipo de mierda, porque sería obviamente útil tener reductores por defecto, como, por ejemplo, o "medio "promedio" "por lo que no tiene que escribir su propia cuenta.

http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html muestra una serie de usos agregador útiles, pero no puedo encontrar documentación de cómo acceder a otras funciones que la suma de clave / valor muy básico descrito en la documentación y en la respuesta de Erik Forsberg. Tal vez esta funcionalidad sólo se expone en la API de Java, que no quiero utilizar.

Por cierto, soy la respuesta de miedo Erik Forsberg no es una buena respuesta a esta pregunta en particular. Otra pregunta para la que podría ser una respuesta útil se puede construir, pero no es lo que el PO está pidiendo.

Otros consejos

El reductor que se refieren se documenta aquí:

http : //hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html

Esto es un reductor que se construye en la utilidad de streaming. Proporciona una forma sencilla de hacer el cálculo común al escribir un asignador de que las llaves de salida que tienen el formato de una manera especial.

Por ejemplo, si sus salidas asignador:

LongValueSum:id1\t12
LongValueSum:id1\t13
LongValueSum:id2\t1
UniqValueCount:id3\tval1
UniqValueCount:id3\tval2

El reductor calculará la suma de cada LongValueSum, y contar los valores distintos de UniqValueCount. Por tanto, la salida del reductor será:

id1\t25
id2\t12
id3\t2

Los reductores y combinadores de este paquete se comparan muy rápido a la ejecución de los combinadores de transmisión y reductores, así que usar el paquete global es a la vez cómoda y rápida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top