RDD-Operationen in PySpark

Grundlagen von Big Data mit PySpark

Upendra Devisetty

Science Analyst, CyVerse

Überblick: PySpark-Operationen

  • Transformationen erzeugen neue RDDs
  • Aktionen berechnen Ergebnisse auf RDDs
Grundlagen von Big Data mit PySpark

RDD-Transformationen

  • Transformationen sind Lazy evaluated

  • Grundlegende RDD-Transformationen

    • map(), filter(), flatMap() und union()
Grundlagen von Big Data mit PySpark

map()-Transformation

  • Die map()-Transformation wendet eine Funktion auf alle RDD-Elemente an

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
Grundlagen von Big Data mit PySpark

filter()-Transformation

  • Die filter-Transformation gibt ein neues RDD nur mit Elementen zurück, die die Bedingung erfüllen

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Grundlagen von Big Data mit PySpark

flatMap()-Transformation

  • Die flatMap()-Transformation liefert mehrere Werte pro Element im ursprünglichen RDD

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
Grundlagen von Big Data mit PySpark

union()-Transformation

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)
Grundlagen von Big Data mit PySpark

RDD-Aktionen

  • Aktionen geben nach der Berechnung auf dem RDD einen Wert zurück

  • Grundlegende RDD-Aktionen

    • collect()

    • take(N)

    • first()

    • count()

Grundlagen von Big Data mit PySpark

collect()- und take()-Aktionen

  • collect() gibt alle Elemente des Datasets als Array zurück

  • take(N) gibt ein Array mit den ersten N Elementen zurück

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Grundlagen von Big Data mit PySpark

first()- und count()-Aktionen

  • first() gibt das erste Element des RDD aus
RDD_map.first()
[1]
  • count() gibt die Anzahl der Elemente im RDD zurück
RDD_flatmap.count()
5
Grundlagen von Big Data mit PySpark

Lass uns RDD-Operationen üben

Grundlagen von Big Data mit PySpark

Preparing Video For Download...