UserDefinedTableFunction

Fungsi tabel yang ditentukan pengguna dalam Python.

Konstruktor kelas ini tidak seharusnya dipanggil secara langsung. Gunakan pyspark.sql.functions.udtf untuk membuat instans.

Sintaksis

from pyspark.sql.functions import udtf

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

Karakteristik

Harta benda Deskripsi
returnType Jenis pengembalian fungsi tabel yang ditentukan pengguna sebagai StructType, atau Tidak Ada jika tidak ditentukan.

Metode

Metode Deskripsi
asDeterministic() Memperbarui UserDefinedTableFunction menjadi deterministik.

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