Introducción a los RDD de PySpark

Fundamentos de big data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

¿Qué es un RDD?

  • RDD = Resilient Distributed Datasets

rdd

Fundamentos de big data con PySpark

Descomponiendo los RDD

  • Resilient Distributed Datasets

    • Resilient: Capacidad de resistir fallos

    • Distributed: Se ejecuta en varias máquinas

    • Datasets: Colección de datos particionados, p. ej., arrays, tablas, tuplas, etc.

Fundamentos de big data con PySpark

Crear RDD. ¿Cómo hacerlo?

  • Paralelizar una colección existente de objetos

  • Conjuntos de datos externos:

    • Archivos en HDFS

    • Objetos en un bucket de Amazon S3

    • Líneas en un archivo de texto

  • A partir de RDD existentes

Fundamentos de big data con PySpark

Colección paralelizada (parallelizing)

  • parallelize() para crear RDD desde listas de Python
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Fundamentos de big data con PySpark

Desde conjuntos de datos externos

  • textFile() para crear RDD desde conjuntos de datos externos
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Fundamentos de big data con PySpark

Entender la partición en PySpark

  • Una partición es una división lógica de un conjunto de datos distribuido grande

  • Método parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Método textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • El número de particiones de un RDD se obtiene con el método getNumPartitions()
Fundamentos de big data con PySpark

¡Vamos a practicar!

Fundamentos de big data con PySpark

Preparing Video For Download...