Weitere Actions

Grundlagen von Big Data mit PySpark

Upendra Devisetty

Science Analyst, CyVerse

reduce()-Action

  • Die Action reduce(func) aggregiert Elemente eines normalen RDD

  • Die Funktion muss kommutativ (Reihenfolge ändert das Ergebnis nicht) und assoziativ sein

  • Beispiel für die reduce()-Action in PySpark

x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
Grundlagen von Big Data mit PySpark

saveAsTextFile()-Action

  • Die Action saveAsTextFile() speichert ein RDD als Textdatei in einem Verzeichnis, jede Partition als eigene Datei
RDD.saveAsTextFile("tempFile")
  • Mit coalesce() kannst du ein RDD als eine einzelne Textdatei speichern
RDD.coalesce(1).saveAsTextFile("tempFile")
Grundlagen von Big Data mit PySpark

Action-Operationen auf Pair-RDDs

  • RDD-Actions für PySpark-Pair-RDDs

  • Pair-RDD-Actions nutzen die Key-Value-Daten

  • Beispiele für Pair-RDD-Actions:

    • countByKey()

    • collectAsMap()

Grundlagen von Big Data mit PySpark

countByKey()-Action

  • countByKey() nur für Typ (K, V) verfügbar

  • countByKey() zählt die Elemente pro Key

  • Beispiel für countByKey() auf einer einfachen Liste

rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
  print(kee, val)
('a', 2)
('b', 1)
Grundlagen von Big Data mit PySpark

collectAsMap()-Action

  • collectAsMap() gibt die Key-Value-Paare im RDD als Dictionary zurück

  • Beispiel für collectAsMap() auf einem einfachen Tupel

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Grundlagen von Big Data mit PySpark

Lass uns üben!

Grundlagen von Big Data mit PySpark

Preparing Video For Download...