call_function()
Описание
Функция call_function()
вызывает встроенную функцию PySpark по имени с указанными аргументами.
Параметры
name
: String - имя функции*args
: Column - аргументы функции
Возвращаемое значение
Column - результат вызова функции
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import call_function, col, lit
# Создаем SparkSession
spark = SparkSession.builder.appName("call_function_example").getOrCreate()
# Создаем DataFrame
data = [
(1, "Hello"),
(2, "World"),
(3, "PySpark")
]
df = spark.createDataFrame(data, ["id", "text"])
# Вызываем функцию concat через call_function
result = df.select(
"id",
"text",
call_function("concat", col("text"), lit("!")).alias("concatenated")
).show()
# Результат:
# +---+-------+------------+
# | id| text|concatenated|
# +---+-------+------------+
# | 1| Hello| Hello!|
# | 2| World| World!|
# | 3|PySpark| PySpark!|
# +---+-------+------------+
Примечания
- Имя функции должно быть именем встроенной функции PySpark
- Аргументы должны быть столбцами или литералами
- Для вызова пользовательских функций используйте
call_udf()
- Для вызова Pandas UDF используйте
pandas_udf()
- Для создания пользовательских функций используйте
udf()
илиudtf()