Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
(dahil) ile WindowSpec (dahil) start arasında tanımlanan çerçeve sınırlarıyla bir end oluşturur.
Hem hem de startend geçerli satırdan görelidir. Örneğin, 0 "geçerli satır" anlamına gelir, -1 geçerli satırdan önce bir satır ve 5 geçerli satırdan sonra beş anlamına gelir.
Aralık tabanlı sınır, ifadelerin gerçek değerini ORDER BY temel alır. Uzaklık, ifadenin ORDER BY değerini değiştirir; örneğin, geçerli ORDER BY değer 10 ve alt sınır uzaklığı ise -3, sonuçta elde edilen alt sınır olur 7. Bu nedenle, uzaklık ilişkisiz olmadığı sürece aralık tabanlı çerçeveler sayısal veri türüne sahip tam olarak ORDER BY bir ifade gerektirir.
Sözdizimi
Window.rangeBetween(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 max(-sys.maxsize, -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 min(sys.maxsize, 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 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|
# +---+--------+---+