Partekatu honen bidez:


UserDefinedTableFunction

Función de tabla definida por el usuario en Python.

No se supone que el constructor de esta clase se llame directamente. Use pyspark.sql.functions.udtf para crear una instancia.

Sintaxis

from pyspark.sql.functions import udtf

@udtf(returnType="c1: int, c2: int")
class MyUDTF:
    def eval(self, x: int):
        yield x, x + 1

Propiedades

Propiedad Descripción
returnType Tipo de valor devuelto de la función de tabla definida por el usuario como StructType o None si no se especifica.

Methods

Método Descripción
asDeterministic() Actualiza UserDefinedTableFunction a determinista.

Notas

Esta API está evolucionando.

Ejemplos

from pyspark.sql.functions import lit, udtf

@udtf(returnType="c1: int, c2: int")
class PlusOne:
    def eval(self, x: int):
        yield x, x + 1

PlusOne(lit(1)).show()
+---+---+
| c1| c2|
+---+---+
|  1|  2|
+---+---+
_ = spark.udtf.register(name="plus_one", f=PlusOne)
spark.sql("SELECT * FROM plus_one(1)").collect()
[Row(c1=1, c2=2)]
spark.sql("SELECT * FROM VALUES (0, 1), (1, 2) t(x, y), LATERAL plus_one(x)").collect()
[Row(x=0, y=1, c1=0, c2=1), Row(x=1, y=2, c1=1, c2=2)]