Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DataFrame-et objektummá TableArg alakítja, amely táblaargumentumként használható egy TVF-ben (Table-Valued függvényben), beleértve az UDTF-t (User-Defined táblafüggvényt).
Szemantika
asTable()
Visszatérítések
TableArg: Táblaargumentumot TableArg képviselő objektum.
Jegyzetek
Miután ezzel a módszerrel beszerzett egy TableArg-t egy DataFrame-ből, megadhatja a táblaargumentum particionálását és sorrendjét az olyan metódusok meghívásával, mint partitionBypéldául a , orderByés withSinglePartition a TableArg példány.
Examples
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|
# +---+-----+