Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cria um WindowSpec com os limites do quadro definidos, de start (inclusivo) para end (inclusivo).
Ambos start e end são posições relativas em relação à linha atual. Por exemplo, 0 significa "linha atual", -1 significa a linha antes da linha atual, e 5 significa a quinta linha após a linha atual.
Um limite baseado em linhas baseia-se na posição da linha dentro da partição. Um deslocamento indica o número de linhas acima ou abaixo da linha atual onde o frame começa ou termina.
Sintaxe
Window.rowsBetween(start, end)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
start |
int | Início de limites, inclusivo. O referencial é ilimitado se isto for Window.unboundedPreceding, ou qualquer valor menor ou igual a -9223372036854775808. |
end |
int | Limite final, inclusivo. O referencial é ilimitado se isto for Window.unboundedFollowing, ou qualquer valor maior ou igual a 9223372036854775807. |
Devoluções
WindowSpec
Notes
Use Window.unboundedPreceding, Window.unboundedFollowing, e Window.currentRow para especificar valores de fronteira especiais em vez de usar valores inteiros diretamente.
Exemplos
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|
# +---+--------+---+