Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt eine WindowSpec mit den definierten Rahmengrenzen von start (einschließlich) bis end (einschließlich).
Beide start und end sind relative Positionen aus der aktuellen Zeile. Bedeutet z 0 . B. "aktuelle Zeile", -1 bedeutet die Zeile vor der aktuellen Zeile und 5 bedeutet die fünfte Zeile hinter der aktuellen Zeile.
Eine zeilenbasierte Grenze basiert auf der Position der Zeile innerhalb der Partition. Ein Offset gibt die Anzahl der Zeilen oberhalb oder unterhalb der aktuellen Zeile an, in der der Frame beginnt oder endet.
Syntax
Window.rowsBetween(start, end)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
start |
int | Begrenzungsanfang( einschließlich). Der Frame ist ungebunden, wenn dies Window.unboundedPrecedingoder ein beliebiger Wert kleiner als oder gleich ist -9223372036854775808. |
end |
int | Begrenzungsende( einschließlich). Der Frame ist ungebunden, wenn dies Window.unboundedFollowingoder ein beliebiger Wert größer oder gleich ist 9223372036854775807. |
Rückkehr
WindowSpec
Hinweise
Verwenden Sie , Window.unboundedPrecedingund Window.unboundedFollowing geben Sie Window.currentRowspezielle Grenzwerte anstelle von integralen Werten direkt an.
Beispiele
from pyspark.sql import Window, functions as sf
df = spark.createDataFrame(
[(1, "a"), (1, "a"), (2, "a"), (1, "b"), (2, "b"), (3, "b")], ["id", "category"])
# Calculate the sum of id from the current row to current row + 1 in each category partition.
window = Window.partitionBy("category").orderBy("id").rowsBetween(Window.currentRow, 1)
df.withColumn("sum", sf.sum("id").over(window)).sort("id", "category", "sum").show()
# +---+--------+---+
# | id|category|sum|
# +---+--------+---+
# | 1| a| 2|
# | 1| a| 3|
# | 1| b| 3|
# | 2| a| 2|
# | 2| b| 5|
# | 3| b| 3|
# +---+--------+---+