Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée un WindowSpec avec les limites de trame définies, de start (inclusive) à end (inclusive).
Les deux start sont des end positions relatives de la ligne actuelle. Par exemple, 0 signifie « ligne actuelle », -1 signifie la ligne avant la ligne actuelle, et 5 signifie la cinquième ligne après la ligne active.
Une limite basée sur les lignes est basée sur la position de la ligne dans la partition. Un décalage indique le nombre de lignes au-dessus ou en dessous de la ligne actuelle où le frame démarre ou se termine.
Syntaxe
Window.rowsBetween(start, end)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
start |
int | Début de limite, inclus. Le frame est non lié s’il s’agit Window.unboundedPrecedingd’une valeur inférieure ou égale à -9223372036854775808. |
end |
int | Fin de la limite, inclusive. Le frame est non lié s’il s’agit Window.unboundedFollowingd’une valeur supérieure ou égale à 9223372036854775807. |
Retours
WindowSpec
Remarques
Utilisez Window.unboundedPreceding, Window.unboundedFollowinget Window.currentRow spécifiez des valeurs de limites spéciales plutôt que d’utiliser directement des valeurs intégrales.
Exemples
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|
# +---+--------+---+