ПочатиПочніть безкоштовно

Подальший парсинг

Ви суттєво змінили формат цього набору даних порівняно з початковим, але ще залишилося кілька кроків. Потрібно підготувати дані в колонках для подальшого аналізу та прибрати кілька проміжних колонок.

Контекст spark доступний, а pyspark.sql.functions має псевдонім F. Типи з pyspark.sql.types уже імпортовано. Датафрейм split_df — у тому стані, в якому ви його залишили. Пам'ятайте: ви можете скористатися .printSchema() для DataFrame в консольній області, щоб переглянути назви й типи колонок.

⚠️ Примітка: Якщо з'являється AttributeError, перезавантажте вправи та натисніть Run Solution без натискання Run Code.

Ця вправа є частиною курсу

Очищення даних у PySpark

Переглянути курс

Інструкції до вправи

  • Створіть нову функцію retriever, яка приймає два аргументи: розділені колонки (cols) і загальну кількість колонок (colcount). Функція має повертати список елементів, які ще не визначено як окремі колонки (тобто все після 4-го елемента в списку).
  • Оголосіть функцію як Spark UDF, що повертає масив рядків (Array of strings).
  • Створіть нову колонку dog_list, використавши UDF і доступні колонки датафрейму.
  • Видаліть колонки _c0, colcount та split_cols.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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('____').____('____').____('____')
Редагувати та запускати код