将窗口规范应用于列。
Syntax
over(window)
参数
| 参数 | 类型 | Description |
|---|---|---|
window |
WindowSpec | 窗口规范 |
退货
列
示例
from pyspark.sql import Window
from pyspark.sql.functions import rank, min, desc
window = (
Window.partitionBy("name")
.orderBy("age")
.rowsBetween(Window.unboundedPreceding, Window.currentRow)
)
df = spark.createDataFrame(
[(2, "Alice"), (5, "Bob")], ["age", "name"])
df.withColumn(
"rank", rank().over(window)
).withColumn(
"min", min('age').over(window)
).sort(desc("age")).show()
# +---+-----+----+---+
# |age| name|rank|min|
# +---+-----+----+---+
# | 5| Bob| 1| 5|
# | 2|Alice| 1| 2|
# +---+-----+----+---+