按文件系统上的给定列对每个存储桶中的输出进行排序。
Syntax
sortBy(col, *cols)
参数
| 参数 | 类型 | 说明 |
|---|---|---|
col |
str、tuple 或 list | 列名或名称列表。 |
*cols |
str,可选 | 其他列名。 如果 col 列表为空,则必须为空。 |
退货
DataFrameWriter
示例
将数据帧写入已排序的存储桶表中,并将其读回。
spark.sql("DROP TABLE IF EXISTS sorted_bucketed_table")
spark.createDataFrame([
(100, "Alice"), (120, "Alice"), (140, "Bob")],
schema=["age", "name"]
).write.bucketBy(1, "name").sortBy("age").mode(
"overwrite").saveAsTable("sorted_bucketed_table")
spark.read.table("sorted_bucketed_table").sort("age").show()
# +---+------------+
# |age| name|
# +---+------------+
# |100|Alice|
# |120|Alice|
# |140| Bob|
# +---+------------+
spark.sql("DROP TABLE sorted_bucketed_table")