asTable

DataFrame'i, TableArg UDTF (User-Defined Tablo İşlevi) dahil olmak üzere bir TVF'de (Table-Valued İşlev) tablo bağımsız değişkeni olarak kullanılabilen bir nesneye dönüştürür.

Sözdizimi

asTable()

İadeler

TableArg: Tablo TableArg bağımsız değişkenlerini temsil eden nesne.

Notlar

Bu yöntemi kullanarak bir DataFrame'den TableArg aldıktan sonra, örnekte , partitionByve gibi orderByyöntemleri çağırarak tablo bağımsız değişkeni için bölümleme ve withSinglePartitionTableArg sıralama belirtebilirsiniz.

Örnekler

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|
# +---+-----+