udf()
Описание
Функция udf() создает пользовательскую функцию (UDF), которая может быть использована в PySpark. UDF позволяют применять пользовательскую логику к данным в DataFrame.
Параметры
f: Callable - функция PythonreturnType: DataType - тип возвращаемого значения
Возвращаемое значение
Column - результат применения UDF
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import udf, col
from pyspark.sql.types import StringType
# Создаем SparkSession
spark = SparkSession.builder.appName("udf_example").getOrCreate()
# Создаем UDF для преобразования строки в верхний регистр
def to_upper(s):
    return s.upper() if s else None
upper_udf = udf(to_upper, StringType())
# Создаем DataFrame
data = [
    (1, "hello"),
    (2, "world"),
    (3, "pyspark")
]
df = spark.createDataFrame(data, ["id", "text"])
# Применяем UDF
result = df.select(
    "id",
    "text",
    upper_udf(col("text")).alias("upper_text")
).show()
# Результат:
# +---+-------+----------+
# | id|   text|upper_text|
# +---+-------+----------+
# |  1|  hello|     HELLO|
# |  2|  world|     WORLD|
# |  3|pyspark|   PYSPARK|
# +---+-------+----------+
 Примечания
- UDF работают с отдельными значениями, что может быть менее эффективно, чем встроенные функции
 - Для лучшей производительности рекомендуется использовать встроенные функции PySpark
 - Для работы с пакетами данных используйте 
pandas_udf() - Для вызова UDF используйте 
call_udf() - Для создания табличных функций используйте 
udtf()