ファイル システム上の指定された列で出力をパーティション分割します。 指定した場合、出力は Hive のパーティション構成と同様のファイル システムにレイアウトされます。
構文
partitionBy(*cols)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
*cols |
str または list | パーティション分割する列の名前。 |
返品
DataFrameWriter
例示
パーティション分割された方法で Parquet ファイルに DataFrame を書き込み、読み戻します。
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|
# +---+