UDTFRegistration

Pembungkus untuk pendaftaran fungsi tabel yang ditentukan pengguna. Instans ini dapat diakses oleh spark.udtf.

Sintaksis

# Access through SparkSession
spark.udtf

Metode

Metode Deskripsi
register(name, f) Mendaftarkan fungsi tabel yang ditentukan pengguna Python sebagai fungsi tabel SQL.

Catatan

Spark menggunakan jenis pengembalian fungsi tabel yang ditentukan pengguna yang diberikan sebagai jenis pengembalian fungsi terdaftar.

Untuk mendaftarkan fungsi tabel Python nondeterministik, pertama-tama buat fungsi tabel yang ditentukan pengguna yang tidakdeterministik lalu daftarkan sebagai fungsi SQL.

Examples

from pyspark.sql.functions import udtf

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

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