Pular para o conteúdo principal

partitionBy (DataFrameWriter)

Particiona a saída pelas colunas especificadas no sistema de arquivos. Se especificado, a saída é organizada no sistema de arquivos de forma semelhante ao esquema de particionamento do Hive.

Sintaxe

partitionBy(*cols)

Parâmetros

Parâmetro

Tipo

Descrição

*cols

string ou lista

Nomes das colunas pelas quais particionar.

Devoluções

DataFrameWriter

Exemplos

Escreva um DataFrame em um arquivo Parquet de forma particionada e, em seguida, leia-o de volta.

Python
import tempfile, os
with tempfile.TemporaryDirectory(prefix="partitionBy") as d:
spark.createDataFrame(
[{"age": 100, "name": "Alice"}, {"age": 120, "name": "Ruifeng Zheng"}]
).write.partitionBy("name").mode("overwrite").format("parquet").save(d)

spark.read.parquet(d).sort("age").show()
# +---+-------------+
# |age| name|
# +---+-------------+
# |100| Alice|
# |120|Ruifeng Zheng|
# +---+-------------+

# Read one partition as a DataFrame.
spark.read.parquet(f"{d}{os.path.sep}name=Alice").show()
# +---+
# |age|
# +---+
# |100|
# +---+