Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Python kullanıcı tanımlı tablo işlevi.
Bu sınıfın oluşturucusunun doğrudan çağrılmaması gerekir. Örnek oluşturmak için kullanın pyspark.sql.functions.udtf .
Sözdizimi
from pyspark.sql.functions import udtf
@udtf(returnType="c1: int, c2: int")
class MyUDTF:
def eval(self, x: int):
yield x, x + 1
Özellikler
| Mülkiyet | Açıklama |
|---|---|
returnType |
Kullanıcı tanımlı tablonun dönüş türü StructType olarak işlev görür veya belirtilmezse None işlevi görür. |
Methods
| Yöntem | Açıklama |
|---|---|
asDeterministic() |
UserDefinedTableFunction değerini deterministik olarak güncelleştirir. |
Örnekler
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)]