Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Konverterar DataFrame till ett TableArg objekt som kan användas som ett tabellargument i en TVF (Table-Valued Function) inklusive UDTF (User-Defined Table Function).
Syntax
asTable()
Retur
TableArg: Ett TableArg objekt som representerar ett tabellargument.
Notes
När du har hämtat en TableArg från en DataFrame med den här metoden kan du ange partitionering och ordning för tabellargumentet genom att anropa metoder som partitionBy, orderByoch withSinglePartition på instansen TableArg .
Exempel
from pyspark.sql.functions import udtf
@udtf(returnType="id: int, doubled: int")
class DoubleUDTF:
def eval(self, row):
yield row["id"], row["id"] * 2
df = spark.createDataFrame([(1,), (2,), (3,)], ["id"])
result = DoubleUDTF(df.asTable())
result.show()
# +---+-------+
# | id|doubled|
# +---+-------+
# | 1| 2|
# | 2| 4|
# | 3| 6|
# +---+-------+
df2 = spark.createDataFrame(
[(1, "a"), (1, "b"), (2, "c"), (2, "d")], ["key", "value"]
)
@udtf(returnType="key: int, value: string")
class ProcessUDTF:
def eval(self, row):
yield row["key"], row["value"]
result2 = ProcessUDTF(df2.asTable().partitionBy("key").orderBy("value"))
result2.show()
# +---+-----+
# |key|value|
# +---+-----+
# | 1| a|
# | 1| b|
# | 2| c|
# | 2| d|
# +---+-----+