Zacznij terazZacznij za darmo

Dalsze przetwarzanie

Przekształcono ten zbiór danych do zupełnie innego formatu niż pierwotny, ale zostało jeszcze kilka rzeczy do zrobienia. Trzeba przygotować dane w kolumnach do dalszej analizy i usunąć kilka kolumn pomocniczych.

Kontekst spark jest dostępny, a pyspark.sql.functions jest zaimportowany pod aliasem F. Typy z pyspark.sql.types są już zaimportowane. DataFrame split_df jest w takim stanie, w jakim go ostatnio zostawiono. Pamiętaj, że możesz użyć .printSchema() na DataFrame w obszarze konsoli, aby podejrzeć nazwy i typy kolumn.

⚠️ Uwaga: Jeśli pojawi się błąd AttributeError, odśwież ćwiczenia i kliknij Pokaż odpowiedź bez wcześniejszego klikania Uruchom kod.

To ćwiczenie jest częścią kursu

Czyszczenie danych w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz nową funkcję o nazwie retriever, która przyjmuje dwa argumenty: podzielone kolumny (cols) oraz łączną liczbę kolumn (colcount). Funkcja powinna zwracać listę wpisów, które nie zostały jeszcze zdefiniowane jako kolumny (czyli wszystko po elemencie o indeksie 4 na liście).
  • Zdefiniuj tę funkcję jako UDF Sparka, zwracający tablicę ciągów znaków.
  • Utwórz nową kolumnę dog_list, korzystając z UDF i dostępnych kolumn w DataFrame.
  • Usuń kolumny _c0, colcount i split_cols.

Interaktywne ćwiczenie praktyczne

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

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('____').____('____').____('____')
Edytuj i uruchom kod