在Spark中,可以使用repartition
或partitionBy
函数来按列值将数据集进行分区。
假设我们有一个包含以下列的数据集df
:
name | age | city |
---|---|---|
Alice | 25 | London |
Bob | 30 | Paris |
John | 35 | London |
Mary | 28 | Berlin |
repartition
函数按列值将数据集进行分区:df = df.repartition("city")
partitionBy
函数按列值将数据集进行分区:df.write.partitionBy("city").parquet("output/path")
在这个例子中,数据集将根据“city”列的值进行分区。分区后的数据集可以通过repartition
函数进行操作,也可以使用partitionBy
函数写入分区文件。