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 relatief ten opzichte van de huidige rij. Betekent bijvoorbeeld 0 'huidige rij', -1 een voor de huidige rij en 5 vijf na de huidige rij.
Een grens op basis van een bereik is gebaseerd op de werkelijke waarde van de ORDER BY expressie(s). Een offset wijzigt de waarde van de ORDER BY expressie, bijvoorbeeld als de huidige ORDER BY waarde is 10 en de ondergrensverschil is -3, is de resulterende ondergrens 7. Daarom vereisen frames op basis van bereiken precies één ORDER BY expressie met een numeriek gegevenstype, tenzij de offset niet afhankelijk is.
Syntaxis
Window.rangeBetween(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 max(-sys.maxsize, -9223372036854775808). |
end |
int | Grenseinde, inclusief. Het frame is niet afhankelijk als dit een waarde is Window.unboundedFollowingdie groter is dan of gelijk is aan min(sys.maxsize, 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 where the id value falls within [current id, current id + 1]
# in each category partition.
window = Window.partitionBy("category").orderBy("id").rangeBetween(Window.currentRow, 1)
df.withColumn("sum", sf.sum("id").over(window)).sort("id", "category").show()
# +---+--------+---+
# | id|category|sum|
# +---+--------+---+
# | 1| a| 4|
# | 1| a| 4|
# | 1| b| 3|
# | 2| a| 2|
# | 2| b| 5|
# | 3| b| 3|
# +---+--------+---+