メインコンテンツまでスキップ

partitionBy (DataFrameWriter)

ファイルシステム上で、指定された列に基づいて出力を分割します。指定されている場合、出力はHiveのパーティショニング方式と同様にファイルシステム上に配置されます。

構文

partitionBy(*cols)

パラメーター

パラメーター

Type

説明

*cols

文字列またはリスト

パーティション分割に使用する列の名前。

戻り値

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|
# +---+
このページの見出し