Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee maakt u een WindowSpec met de framegrenzen die zijn gedefinieerd, van start (inclusief) tot end (inclusief).
Beide start en end zijn relatieve posities uit de huidige rij. Betekent bijvoorbeeld 0 'huidige rij', -1 betekent de rij vóór de huidige rij en 5 betekent de vijfde rij na de huidige rij.
Een grens op basis van rijen is gebaseerd op de positie van de rij binnen de partitie. Een offset geeft het aantal rijen boven of onder de huidige rij aan waar het frame begint of eindigt.
Syntaxis
Window.rowsBetween(start, end)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
start |
int | Begin van grens, inclusief. Het frame is niet afhankelijk als dit een waarde is Window.unboundedPrecedingdie kleiner is dan of gelijk is aan -9223372036854775808. |
end |
int | Grenseinde, inclusief. Het frame is niet afhankelijk als dit een waarde is Window.unboundedFollowingdie groter is dan of gelijk is aan 9223372036854775807. |
Retouren
WindowSpec
Aantekeningen
Gebruik Window.unboundedPreceding, Window.unboundedFollowingen Window.currentRow om speciale grenswaarden op te geven in plaats van integrale waarden rechtstreeks te gebruiken.
Examples
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|
# +---+--------+---+