Inizia subitoInizia gratis

Parsing aggiuntivo

Hai trasformato questo insieme di dati in un formato molto diverso rispetto a prima, ma restano ancora alcune cose da fare. Devi preparare i dati delle colonne per le analisi successive e rimuovere alcune colonne intermedie.

Il contesto spark è disponibile e pyspark.sql.functions è in alias come F. I tipi da pyspark.sql.types sono già importati. Il DataFrame split_df è rimasto come l'hai lasciato. Ricorda: puoi usare .printSchema() su un DataFrame nell'area della console per vedere nomi e tipi delle colonne.

⚠️ Nota: Se vedi un AttributeError, aggiorna gli esercizi e fai clic su Run Solution senza fare clic su Esegui codice.

Questo esercizio fa parte del corso

Pulizia dei dati con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Crea una nuova funzione chiamata retriever che accetta due argomenti: le colonne splittate (cols) e il numero totale di colonne (colcount). Questa funzione deve restituire una lista delle voci che non sono ancora state definite come colonne (cioè tutto ciò che viene dopo l'elemento 4 della lista).
  • Definisci la funzione come una UDF di Spark, che restituisce un Array di stringhe.
  • Crea la nuova colonna dog_list usando la UDF e le colonne disponibili nel DataFrame.
  • Rimuovi le colonne _c0, colcount e split_cols.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

def retriever(____, ____):
  # Return a list of dog data
  return ____[4:____]

# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))

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

# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')
Modifica ed esegui il codice