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).
Ambos start y end son relativos de la fila actual. Por ejemplo, 0 significa "fila actual", -1 significa uno antes de la fila actual y 5 significa cinco después de la fila actual.
Un límite basado en intervalos se basa en el valor real de las ORDER BY expresiones. Un desplazamiento modifica el valor de la ORDER BY expresión ; por ejemplo, si el valor actual ORDER BY es 10 y el desplazamiento de límite inferior es -3, el límite inferior resultante es 7. Por este motivo, los fotogramas basados en intervalo requieren exactamente una ORDER BY expresión con un tipo de datos numérico, a menos que el desplazamiento no esté enlazado.
Sintaxis
Window.rangeBetween(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 max(-sys.maxsize, -9223372036854775808). |
end |
int | Fin del límite, inclusivo. El marco no está enlazado si es Window.unboundedFollowing, o cualquier valor mayor o igual que min(sys.maxsize, 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 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|
# +---+--------+---+