Zacznij terazZacznij za darmo

Używanie funkcji definiowanych przez użytkownika w Spark

Widzisz już, jak duże możliwości dają wbudowane funkcje tekstowe Sparka przy manipulowaniu DataFrames. Jednak w pewnym momencie przetwarzanie danych bez tworzenia skomplikowanego splotu zagnieżdżonych wywołań staje się bardzo trudne. To właśnie miejsce, gdzie przydają się funkcje definiowane przez użytkownika (UDF) – pozwalają manipulować DataFrames w przejrzysty sposób.

W tym ćwiczeniu skorzystasz z DataFrame voter_df i zastąpisz kolumnę first_name kolumną zawierającą imię oraz drugie imię.

Biblioteka pyspark.sql.functions jest dostępna pod aliasem F. Klasy z pyspark.sql.types są już zaimportowane.

To ćwiczenie jest częścią kursu

Czyszczenie danych w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zmodyfikuj funkcję getFirstAndMiddle() tak, aby zwracała oddzielone spacją imiona z listy – z pominięciem ostatniego elementu.
  • Zdefiniuj tę funkcję jako funkcję definiowaną przez użytkownika (UDF). Powinna zwracać typ tekstowy.
  • Utwórz nową kolumnę w voter_df o nazwie first_and_middle_name, używając swojej funkcji UDF.
  • Wyświetl DataFrame.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
____
Edytuj i uruchom kod