UDTFRegistration
Wrapper pour l'enregistrement de fonctions de table définies par l'utilisateur. Cette instance peut être consultée par spark.udtf.
Syntaxe
Python
# Access through SparkSession
spark.udtf
Méthodes
Méthode | Description |
|---|---|
Enregistre une fonction de table Python définie par l'utilisateur en tant que fonction de table SQL. |
Notes
Spark utilise le type de retour de la fonction de table définie par l'utilisateur donnée comme type de retour de la fonction enregistrée.
Pour enregistrer une fonction de table Python non déterministe, créez d'abord une fonction de table définie par l'utilisateur non déterministe, puis enregistrez-la en tant que fonction SQL.
Exemples
Python
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()
Output
[Row(c1=1, c2=2)]
Python
spark.sql("SELECT * FROM VALUES (0, 1), (1, 2) t(x, y), LATERAL plus_one(x)").collect()
Output
[Row(x=0, y=1, c1=0, c2=1), Row(x=1, y=2, c1=1, c2=2)]