Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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)]