[ Foro de Python ]

Entender reduceByKey(lambda x, y: x + y)

29-May-2016 16:17
Invitado (zontxo)
0 Respuestas

Buenos días,

Gracias de antemano.

Estoy empezando con Python y aunque vengo de programar en otros lenguajes y sobre todo en PL/SQL, no consigo entender ciertas cosas. Necesito de vuestra ayuda para entender la función lambda sobre todo, que correlación hay entre los parámetros y los campos del RDD sobre el que se ejecuta la acción.

Sobre todo, mi problema lo encuento cuando sales de los ejemplos que hay de listas sencillas y me meto en problemas con ficheros donde cada linea del fichero que cargo en el RDD tiene 6 campos, por ejemplos.

En el ejemplo de workcount.py puedo entender que map(lambda x: (x, 1)) me crea pares clave, 1 pero, esa "x" a donde apunta?
Entiendo que después del map, hacemos reduce para sumar los unos por cada clave. En el ejemplo aparece así: reduceByKey(lambda x, y: x + y) a lo que yo entiendo que la "x" es la clave y la "y" la lista de valores pero entonces... ¿me está sumando clave+lista de 1s?

Me pierdo un poco.

Muchas gracias!
zontxo.




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)