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

Використання користувацьких функцій (UDF) у Spark

Ви вже бачили частину можливостей вбудованих рядкових функцій Spark для роботи з датафреймами. Однак на певному етапі обробляти дані стає складно без клубка вкладених викликів функцій. У таких випадках можна використати користувацькі функції (User Defined Functions), щоб обробляти наші датафрейми.

У цій вправі ми будемо використовувати датафрейм voter_df, але вам потрібно замінити стовпець first_name на поєднання імені та по батькові/другого імені.

Бібліотека pyspark.sql.functions доступна під псевдонімом F. Класи з pyspark.sql.types уже імпортовано.

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

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

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

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

  • Відредагуйте функцію getFirstAndMiddle(), щоб вона повертала рядок з імен, розділених пробілом, окрім останнього елемента списку імен.
  • Оголосіть функцію як користувацьку (user-defined function). Вона має повертати тип string.
  • Створіть новий стовпець у voter_df з назвою first_and_middle_name, використовуючи ваш UDF.
  • Відобразіть датафрейм.

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

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

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