НачатьНачать бесплатно

Использование пользовательских функций в Spark

Вы уже убедились, насколько мощными могут быть встроенные строковые функции Spark при работе с DataFrames. Однако при обработке сложных данных цепочки вызовов функций быстро становятся запутанными и трудночитаемыми. Именно здесь на помощь приходят пользовательские функции (UDF) — они позволяют обрабатывать данные в DataFrame аккуратно и гибко.

В этом упражнении вы будете работать с DataFrame voter_df и замените столбец first_name столбцом, содержащим имя и отчество.

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

Это упражнение является частью курса

Очистка данных с помощью PySpark

Посмотреть курс

Инструкции к упражнению

  • Отредактируйте функцию getFirstAndMiddle() так, чтобы она возвращала строку из имён, разделённых пробелом, без последнего элемента списка.
  • Определите функцию как пользовательскую (UDF). Она должна возвращать строковый тип.
  • Создайте новый столбец first_and_middle_name в voter_df с помощью вашей UDF.
  • Выведите DataFrame на экран.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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