LoslegenKostenlos loslegen

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

Datenbereinigung mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • 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 Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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