bucketBy

Bucketar utdata från de angivna kolumnerna. Om det anges anges utdata i filsystemet som liknar Hive:s bucketningsschema, men med en annan bucket-hashfunktion och är inte kompatibel med Hive-bucketing.

Syntax

bucketBy(numBuckets, col, *cols)

Parameters

Parameter Type Beskrivning
numBuckets int Antalet bucketar som ska sparas.
col str, list eller tuppeln Ett kolumnnamn eller en lista med namn.
*cols str, valfritt Ytterligare kolumnnamn. Måste vara tom om col är en lista.

Retur

DataFrameWriter

Notes

Gäller för filbaserade datakällor i kombination med DataFrameWriter.saveAsTable.

Exempel

Skriv en DataFrame till en bucketad tabell och läs tillbaka den.

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")