Módulo: RDDs: Resilient Distributed Datasets
Este módulo forma parte del curso de PySpark. .
Los RDDs (Resilient Distributed Datasets) son la abstracción de datos fundamental de Apache Spark. Representan colecciones inmutables y tolerantes a fallos de elementos distribuidos entre los nodos del clúster. Aunque en la práctica moderna se prefieren los DataFrames, los RDDs siguen siendo el sustrato subyacente y son esenciales para comprender el funcionamiento interno de Spark.
Se pueden crear RDDs de dos formas principales: mediante parallelize() a partir de colecciones Python en memoria, o mediante textFile() para leer datos desde el sistema de ficheros o HDFS:
sc = spark.sparkContext
# Crear RDD desde una colección Python
rdd_numeros = sc.parallelize([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], numSlices=4)
# Crear RDD desde un fichero de texto
rdd_texto = sc.textFile("hdfs://ruta/al/archivo.txt")
Las transformaciones son operaciones perezosas que producen un nuevo RDD: map, filter, flatMap, distinct, union, reduceByKey, groupByKey, sortByKey, join y cogroup. Las acciones desencadenan la ejecución del DAG y devuelven un resultado: collect, count, first, take, reduce, saveAsTextFile y foreach.
La persistencia permite mantener RDDs en memoria o disco para reutilizarlos eficientemente en múltiples acciones. Los niveles MEMORY_ONLY, MEMORY_AND_DISK y DISK_ONLY controlan dónde se almacenan los datos. unpersist() libera el espacio cuando el RDD ya no es necesario.
Otros módulos de este curso
RDDs: Resilient Distributed Datasets
Todos los módulos del curso
Navega entre los módulos de PySpark
RDDs: Resilient Distributed Datasets
Estás aquíExplora más sobre PySpark
Descubre más recursos de PySpark
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, PySpark es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.