LoslegenKostenlos starten

User-Defined Functions in Spark verwenden

Du hast bereits gesehen, wie leistungsfähig die integrierten Stringfunktionen von Spark beim Bearbeiten von DataFrames sind. Ab einem bestimmten Punkt wird es jedoch schwierig, die Daten zu verarbeiten, ohne ein Wirrwarr aus Funktionsaufrufen zu erzeugen. Hier kannst du User-Defined Functions einsetzen, um unsere DataFrames zu manipulieren.

Für diese Aufgabe verwenden wir unser DataFrame voter_df, aber du ersetzt die Spalte first_name durch die ersten und mittleren Namen.

Die Bibliothek pyspark.sql.functions ist unter dem Alias F verfügbar. Die Klassen aus pyspark.sql.types sind bereits importiert.

Diese Übung ist Teil des Kurses

<Kurs>Datenbereinigung mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Bearbeite die Funktion getFirstAndMiddle() so, dass sie eine durch Leerzeichen getrennte Zeichenkette der Namen zurückgibt – außer dem letzten Eintrag in der Namensliste.
  • Definiere die Funktion als User-Defined Function. Sie soll einen String-Typ zurückgeben.
  • Erstelle mit deiner UDF eine neue Spalte an voter_df namens first_and_middle_name.
  • Zeige das DataFrame an.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

def getFirstAndMiddle(names):
  # Return a space separated string of names
  return ' '.join(____)

# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)

# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))

# Show the DataFrame
____
Code bearbeiten und ausführen