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 |
|---|---|---|
| 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|
# +---+