Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea un WindowSpec objeto con los límites de marco definidos, de start (ambos incluidos) a end (inclusivos).
Tanto como startend son posiciones relativas de la fila actual. Por ejemplo, 0 significa "fila actual", -1 significa la fila antes de la fila actual y 5 significa la quinta fila después de la fila actual.
Un límite basado en filas se basa en la posición de la fila dentro de la partición. Un desplazamiento indica el número de filas por encima o por debajo de la fila actual donde comienza o termina el marco.
Sintaxis
Window.rowsBetween(start, end)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
start |
int | Inicio de límite, inclusivo. El marco no está enlazado si es Window.unboundedPreceding, o cualquier valor menor o igual que -9223372036854775808. |
end |
int | Fin del límite, inclusivo. El marco no está enlazado si es Window.unboundedFollowing, o cualquier valor mayor o igual que 9223372036854775807. |
Devoluciones
WindowSpec
Notas
Use Window.unboundedPreceding, Window.unboundedFollowingy Window.currentRow para especificar valores de límite especiales en lugar de usar valores enteros directamente.
Ejemplos
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|
# +---+--------+---+