Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Registra uma função de tabela Python definida pelo usuário como uma função de tabela SQL.
Sintaxe
register(name, f)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
name |
str | O nome da função de tabela definida pelo usuário em instruções SQL. |
f |
UserDefinedTableFunction |
A função de tabela definida pelo usuário. |
Devoluções
UserDefinedTableFunction
Observações
O Spark usa o tipo de retorno da função de tabela definida pelo usuário como o tipo de retorno da função registrada.
Para registrar uma função de tabela Python não determinística, primeiro crie uma função de tabela não determinística definida pelo usuário e registre-a como uma função SQL.
Exemplos
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)]