Operaciones Map/Reduce con RDDs Apache Spark en Python

Crear un RDD que multiplique por 2 sus valores y sumar los resultados

from operator import add
rdd = sc.parallelize([1, 1, 1, 1, 2, 2, 2, 3, 3, 4])
rdd2 = rdd.map(lambda x: x*2)
tSum = rdd2.reduce(lambda x,y: x+y)
print (tSum)
40

Crear un diccionario con elementos (x,1) y sumar las apariciones por elemento

rdd_text = sc.parallelize(['red', 'red', 'blue', 'green', 'green','yellow'])
rdd_aux = rdd_text.map(lambda x: (x,1))
rdd_result = rdd_aux.reduceByKey(lambda x,y: x+y)
print (rdd_result.collect())
[('blue', 1), ('green', 2), ('yellow', 1), ('red', 2)]

Otros artículos que pueden ser de interés:

Autor: Diego Calvo