Fundamentos de big data con PySpark
Upendra Devisetty
Science Analyst, CyVerse
La acción reduce(func) agrega los elementos de un RDD normal
La función debe ser conmutativa (cambiar el orden de los operandos no cambia el resultado) y asociativa
Ejemplo de la acción reduce() en PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() guarda el RDD en un archivo de texto dentro de un directorio, con cada partición como un archivo separadoRDD.saveAsTextFile("tempFile")
coalesce() puede usarse para guardar el RDD como un único archivo de textoRDD.coalesce(1).saveAsTextFile("tempFile")
Acciones de RDD disponibles para pair RDDs en PySpark
Las acciones sobre pair RDDs aprovechan los datos clave-valor
Algunos ejemplos de acciones para pair RDDs
countByKey()
collectAsMap()
countByKey() solo disponible para tipo (K, V)
La acción countByKey() cuenta los elementos por clave
Ejemplo de countByKey() en una lista simple
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() devuelve los pares clave-valor del RDD como un diccionario
Ejemplo de collectAsMap() en una tupla simple
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Fundamentos de big data con PySpark