Share via


UserDefinedTableFunction

Een door de gebruiker gedefinieerde tabelfunctie in Python.

De constructor van deze klasse mag niet rechtstreeks worden aangeroepen. Gebruik pyspark.sql.functions.udtf dit om een exemplaar te maken.

Syntaxis

from pyspark.sql.functions import udtf

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

Eigenschappen

Vastgoed Beschrijving
returnType Het retourtype van de door de gebruiker gedefinieerde tabelfunctie als een StructType of Geen als dit niet is opgegeven.

Methods

Methode Beschrijving
asDeterministic() Hiermee werkt u userDefinedTableFunction bij naar deterministisch.

Aantekeningen

Deze API ontwikkelt zich.

Examples

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