Začněte nyníZačněte zdarma

Další parsování

Tento dataset jsi výrazně přeformátoval/a, ale ještě pár věcí zbývá. Je potřeba připravit data ve sloupcích pro pozdější analýzu a odstranit několik pomocných sloupců.

K dispozici máš kontext spark a pyspark.sql.functions je importován pod aliasem F. Typy z pyspark.sql.types jsou již naimportované. DataFrame split_df je ve stavu, v jakém jsi ho naposledy nechal/a. Nezapomeň, že na konzoli můžeš použít .printSchema() pro zobrazení názvů a typů sloupců.

⚠️ Poznámka: Pokud se zobrazí AttributeError, obnov cvičení a klikni na Run Solution bez předchozího kliknutí na Run Code.

Toto cvičení je součástí kurzu

Cleaning Data with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř novou funkci retriever, která přijímá dva argumenty: rozdělené sloupce (cols) a celkový počet sloupců (colcount). Tato funkce by měla vrátit seznam položek, které ještě nebyly definovány jako sloupce (tedy vše za položkou 4 v seznamu).
  • Definuj tuto funkci jako Spark UDF, která vrací pole řetězců (Array of strings).
  • Vytvoř nový sloupec dog_list pomocí UDF a dostupných sloupců v DataFrame.
  • Odstraň sloupce _c0, colcount a split_cols.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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('____').____('____').____('____')
Upravit a spustit kód