pyspark y reduceByKey: cómo hacer una suma simple
Estoy intentando un código en Spark (pyspark) para una tarea. La primera vez que uso este entorno, seguro que extraño algo ...
Tengo un conjunto de datos simple llamado c_views.
Si corroc_views.collect()
yo obtengo[…] (u'ABC', 100), (u'DEF', 200), (u'XXX', 50), (u'XXX', 70)] […]
Lo que necesito lograr es elsuma a través de todas las palabras. Entonces, supongo que debería obtener algo como:
(u'ABC', 100), (u'DEF', 200), (u'XXX', 120)
Entonces, lo que estoy tratando de hacer es (siguiendo las sugerencias en la tarea):
primero defino la funciónsum_views(a,b)
para el conjunto de datos de entrada y luego ejecute un reduceByKey, es decir
c_views.reduceByKey(sum_views).collect()
Sin embargo, no entiendo exactamente qué debo codificar en la función. Estoy intentando muchas cosas pero siempre recibo un error. ¿Tiene sentido el flujo de trabajo? ¿Otras formas simples de lograr el resultado?
¿Cualquier sugerencia? Gracias de antemano por su ayuda.