ÎncepețiÎncepe gratuit

Utilizarea funcțiilor definite de utilizator în Spark

Ai văzut o parte din puterea funcțiilor integrate Spark pentru șiruri de caractere atunci când vine vorba de manipularea DataFrame-urilor. Totuși, la un moment dat, procesarea datelor fără o structură clară poate deveni rapid un labirint de apeluri de funcții imbricate. Acesta este un caz în care funcțiile definite de utilizator (UDF) te pot ajuta să manipulezi DataFrame-urile mai elegant.

Pentru acest exercițiu, vei folosi DataFrame-ul voter_df, dar vei înlocui coloana first_name cu prenumele și numele de mijloc.

Biblioteca pyspark.sql.functions este disponibilă sub aliasul F. Clasele din pyspark.sql.types sunt deja importate.

Acest exercițiu face parte din cursul

Curățarea datelor cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Editează funcția getFirstAndMiddle() astfel încât să returneze un șir de caractere cu numele separate prin spațiu, cu excepția ultimei intrări din lista de nume.
  • Definește funcția ca o funcție definită de utilizator. Aceasta trebuie să returneze un tip string.
  • Creează o coloană nouă în voter_df numită first_and_middle_name folosind UDF-ul tău.
  • Afișează DataFrame-ul.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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
____
Editează și rulează codul