rowsBetween (Pencere)

(dahil) ile WindowSpec (dahil) start arasında tanımlanan çerçeve sınırlarıyla bir end oluşturur.

Hem hem start de end geçerli satırdaki göreli konumlardır. Örneğin, 0 "geçerli satır" anlamına gelir, -1 geçerli satırdan önceki satır anlamına gelir ve 5 geçerli satırdan sonraki beşinci satır anlamına gelir.

Satır tabanlı sınır, bölümün içindeki satırın konumunu temel alır. Uzaklık, çerçevenin başladığı veya bittiği geçerli satırın üstündeki veya altındaki satır sayısını gösterir.

Sözdizimi

Window.rowsBetween(start, end)

Parametreler

Parametre Türü Açıklama
start Int Sınır başlangıcı, dahil. Bu ise, çerçeve ilişkisizdir Window.unboundedPrecedingveya değerinden küçük veya buna eşit herhangi bir değerdir -9223372036854775808.
end Int Sınır ucu, dahil. Bu ise çerçeve ilişkisizdir Window.unboundedFollowingveya değerinden büyük veya buna eşit herhangi bir değerdir 9223372036854775807.

İadeler

WindowSpec

Notlar

Tam sayı değerlerini doğrudan kullanmak yerine özel sınır değerleri belirtmek için , Window.unboundedPrecedingve Window.unboundedFollowing kullanınWindow.currentRow.

Örnekler

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|
# +---+--------+---+