bucketBy

Faz buckets da saída pelas colunas dadas. Se especificado, a saída está disposta no sistema de ficheiros de forma semelhante ao esquema de bucketing do Hive, mas com uma função de hash de bucket diferente e não é compatível com o bucketing do Hive.

Sintaxe

bucketBy(numBuckets, col, *cols)

Parâmetros

Parâmetro Tipo Descrição
numBuckets int O número de baldes para poupar.
col str, lista ou tupla Um nome de coluna, ou uma lista de nomes.
*cols STR, opcional Nomes adicionais de colunas. Deve estar vazio se col for uma lista.

Devoluções

DataFrameWriter

Notes

Aplicável a fontes de dados baseadas em ficheiros em combinação com DataFrameWriter.saveAsTable.

Exemplos

Escreve um DataFrame numa tabela em bucket e lê-o.

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