partitionBy (DataFrameWriter)
ファイルシステム上で、指定された列に基づいて出力を分割します。指定されている場合、出力はHiveのパーティショニング方式と同様にファイルシステム上に配置されます。
構文
partitionBy(*cols)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 文字列またはリスト | パーティション分割に使用する列の名前。 |
戻り値
DataFrameWriter
例
DataFrameを分割してParquetファイルに書き込み、それを読み戻します。
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|
# +---+