Aller au contenu principal

call_udf

Appeler une fonction définie par l'utilisateur.

Syntaxe

Python
import pyspark.sql.functions as sf

sf.call_udf(udfName=<udfName>, *cols)

parameter

parameter

Type

Description

udfName

str

Nom de la fonction définie par l'utilisateur (UDF).

cols

pyspark.sql.Column OU str

Noms de colonne ou colonnes à utiliser dans l'UDF.

parameter

Type

Description

udfName

str

Nom de la fonction définie par l'utilisateur (UDF).

cols

pyspark.sql.Column OU str

Noms de colonne ou colonnes à utiliser dans l'UDF.

Renvoie

pyspark.sql.Column: résultat de l'UDF exécutée.

Exemples

Exemple 1 : Utilisation de call_udf avec une UDF d'entier.

Python
from pyspark.sql.functions import call_udf, col
from pyspark.sql.types import IntegerType, StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("intX2", lambda i: i * 2, IntegerType())
df.select(call_udf("intX2", "id")).show()
Output
+---------+
|intX2(id)|
+---------+
| 2|
| 4|
| 6|
+---------+

Exemple 2 : Utilisation de call_udf avec une UDF de type chaîne de caractères.

Python
from pyspark.sql.functions import call_udf, col
from pyspark.sql.types import IntegerType, StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("strX2", lambda s: s * 2, StringType())
df.select(call_udf("strX2", col("name"))).show()
Output
+-----------+
|strX2(name)|
+-----------+
| aa|
| bb|
| cc|
+-----------+