Skip to content

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()