bucketBy

Buckets the output by the given columns. Si se especifica, la salida se coloca en el sistema de archivos similar al esquema de cubos de Hive, pero con una función hash de cubo diferente y no es compatible con la creación de cubos de Hive.

Sintaxis

bucketBy(numBuckets, col, *cols)

Parámetros

Parámetro Tipo Descripción
numBuckets int Número de cubos que se van a guardar.
col str, list o tupla Un nombre de columna o una lista de nombres.
*cols str, opcional Nombres de columna adicionales. Debe estar vacío si col es una lista.

Devoluciones

DataFrameWriter

Notas

Aplicable a los orígenes de datos basados en archivos en combinación con DataFrameWriter.saveAsTable.

Ejemplos

Escriba un DataFrame en una tabla en cubo y vuelva a leerlo.

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