Pular para o conteúdo principal

chamada_udf

Chamar uma função definida pelo usuário.

Sintaxe

Python
import pyspark.sql.functions as sf

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

Parâmetros

Parâmetro

Tipo

Descrição

udfName

str

Nome da função definida pelo usuário (UDF).

cols

pyspark.sql.Column ou str

Nomes das colunas ou colunas a serem usadas na UDF.

Devoluções

pyspark.sql.Column: resultado da UDF executada.

Exemplos

Exemplo 1 : Usando call_udf com uma UDF de inteiro.

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|
+---------+

Exemplo 2 : Usando call_udf com uma UDF de strings.

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|
+-----------+