pandas_udf()
Описание
Функция pandas_udf() создает пользовательскую функцию (UDF) на основе Pandas, которая может быть использована в PySpark. Pandas UDF обеспечивают лучшую производительность по сравнению с обычными UDF, так как работают с целыми пакетами данных.
Параметры
f: Callable - функция PandasreturnType: DataType - тип возвращаемого значенияfunctionType: String - тип функции (SCALAR, GROUPED_MAP, GROUPED_AGG)
Возвращаемое значение
Column - результат применения Pandas UDF
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import pandas_udf, col
from pyspark.sql.types import DoubleType
import pandas as pd
# Создаем SparkSession
spark = SparkSession.builder.appName("pandas_udf_example").getOrCreate()
# Создаем Pandas UDF для вычисления квадрата числа
@pandas_udf(DoubleType())
def square_pandas(x: pd.Series) -> pd.Series:
    return x * x
# Создаем DataFrame
data = [
    (1,),
    (2,),
    (3,)
]
df = spark.createDataFrame(data, ["number"])
# Применяем Pandas UDF
result = df.select(
    "number",
    square_pandas(col("number")).alias("squared")
).show()
# Результат:
# +------+-------+
# |number|squared|
# +------+-------+
# |     1|    1.0|
# |     2|    4.0|
# |     3|    9.0|
# +------+-------+
 Примечания
- Pandas UDF работают с целыми пакетами данных, что обеспечивает лучшую производительность
 - Поддерживаются три типа Pandas UDF:
 - SCALAR: работает с отдельными значениями
 - GROUPED_MAP: работает с группами данных
 - GROUPED_AGG: выполняет агрегацию по группам
 - Для вызова встроенных функций используйте 
call_function() - Для вызова обычных UDF используйте 
call_udf() - Для создания обычных UDF используйте 
udf()илиudtf()