UDTFRegistration

Kullanıcı tanımlı tablo işlevi kaydı için sarmalayıcı. Bu örneğe tarafından spark.udtferişilebilir.

Sözdizimi

# Access through SparkSession
spark.udtf

Methods

Yöntem Açıklama
register(name, f) Python kullanıcı tanımlı tablo işlevini SQL tablo işlevi olarak kaydeder.

Notlar

Spark, kayıtlı işlevin dönüş türü olarak verilen kullanıcı tanımlı tablo işlevinin dönüş türünü kullanır.

Tanımsız bir Python tablo işlevini kaydetmek için, önce kullanıcı tanımlı olmayan bir tablo işlevi oluşturun ve ardından bunu bir SQL işlevi olarak kaydedin.

Örnekler

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