Operaciones RDD en PySpark

Fundamentos de big data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

Resumen de operaciones en PySpark

  • Las transformaciones crean nuevos RDD
  • Las acciones calculan sobre los RDD
Fundamentos de big data con PySpark

Transformaciones de RDD

  • Las transformaciones usan evaluación perezosa (Lazy)

  • Transformaciones básicas de RDD

    • map(), filter(), flatMap() y union()
Fundamentos de big data con PySpark

Transformación map()

  • La transformación map() aplica una función a todos los elementos del RDD

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
Fundamentos de big data con PySpark

Transformación filter()

  • La transformación filter devuelve un RDD nuevo solo con los elementos que cumplen la condición

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Fundamentos de big data con PySpark

Transformación flatMap()

  • La transformación flatMap() devuelve varios valores por cada elemento del RDD original

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
Fundamentos de big data con PySpark

Transformación union()

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
Fundamentos de big data con PySpark

Acciones de RDD

  • Operaciones que devuelven un valor tras calcular sobre el RDD

  • Acciones básicas de RDD

    • collect()

    • take(N)

    • first()

    • count()

Fundamentos de big data con PySpark

Acciones collect() y take()

  • collect() devuelve todos los elementos del conjunto como un array

  • take(N) devuelve un array con los primeros N elementos

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Fundamentos de big data con PySpark

Acciones first() y count()

  • first() devuelve el primer elemento del RDD
RDD_map.first()
[1]
  • count() devuelve el número de elementos del RDD
RDD_flatmap.count()
5
Fundamentos de big data con PySpark

¡Vamos a practicar operaciones con RDD!

Fundamentos de big data con PySpark

Preparing Video For Download...