bucketBy

Vysadí výstup podle daných sloupců. Pokud je zadán, výstup je rozložen v systému souborů podobný schématu kontejneru Hive, ale s jinou funkcí hash kbelíku a není kompatibilní s kontejnery Hive.

Syntaxe

bucketBy(numBuckets, col, *cols)

Parametry

Parameter Typ Description
numBuckets int (integer) Počet kontejnerů, které se mají uložit.
col str, list nebo řazená kolekce členů Název sloupce nebo seznam názvů
*cols str, volitelné Další názvy sloupců Pokud je seznam prázdný, musí být prázdný col .

Návraty

DataFrameWriter

Poznámky

Platí pro souborové zdroje dat v kombinaci s DataFrameWriter.saveAsTable.

Příklady

Zapište datový rámec do kontejnerové tabulky a přečtěte si ho zpátky.

spark.sql("DROP TABLE IF EXISTS bucketed_table")
spark.createDataFrame([
    (100, "Alice"), (120, "Alice"), (140, "Bob")],
    schema=["age", "name"]
).write.bucketBy(2, "name").mode("overwrite").saveAsTable("bucketed_table")

spark.read.table("bucketed_table").sort("age").show()
# +---+------------+
# |age|        name|
# +---+------------+
# |100|Alice|
# |120|Alice|
# |140| Bob|
# +---+------------+

spark.sql("DROP TABLE bucketed_table")