Inizia subitoInizia gratis

Uso delle funzioni definite dall'utente in Spark

Hai già visto la potenza delle funzioni di stringa integrate di Spark per manipolare i DataFrame. Tuttavia, oltre un certo punto diventa difficile elaborare i dati senza creare un groviglio di chiamate a funzione. Ecco un caso in cui puoi usare le funzioni definite dall'utente (User Defined Functions) per manipolare i nostri DataFrame.

Per questo esercizio useremo il DataFrame voter_df, ma andrai a sostituire la colonna first_name con il nome e il secondo nome.

La libreria pyspark.sql.functions è disponibile con l'alias F. Le classi di pyspark.sql.types sono già importate.

Questo esercizio fa parte del corso

Pulizia dei dati con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Modifica la funzione getFirstAndMiddle() in modo che restituisca una stringa di nomi separati da spazi, tranne l'ultimo elemento della lista di nomi.
  • Definisci la funzione come funzione definita dall'utente (UDF). Dovrebbe restituire un tipo stringa.
  • Crea una nuova colonna su voter_df chiamata first_and_middle_name usando la tua UDF.
  • Mostra il DataFrame.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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
____
Modifica ed esegui il codice