Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Registra una Python funzione di tabella definita dall'utente come funzione di tabella SQL.
Sintassi
register(name, f)
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
name |
str | Nome della funzione di tabella definita dall'utente nelle istruzioni SQL. |
f |
UserDefinedTableFunction |
Funzione di tabella definita dall'utente. |
Restituzioni
UserDefinedTableFunction
Note
Spark usa il tipo restituito della funzione di tabella definita dall'utente specificata come tipo restituito della funzione registrata.
Per registrare una funzione di tabella non deterministica Python, creare prima una funzione di tabella non deterministica definita dall'utente e quindi registrarla come funzione 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)]
# Use it with a lateral join.
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)]