Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat dengan batas bingkai yang WindowSpec ditentukan, dari start (inklusif) hingga end (inklusif).
Keduanya start dan end merupakan posisi relatif dari baris saat ini. Misalnya, 0 berarti "baris saat ini", -1 berarti baris sebelum baris saat ini, dan 5 berarti baris kelima setelah baris saat ini.
Batas berbasis baris didasarkan pada posisi baris dalam partisi. Offset menunjukkan jumlah baris di atas atau di bawah baris saat ini tempat bingkai dimulai atau berakhir.
Sintaksis
Window.rowsBetween(start, end)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
start |
int | Mulai batas, inklusif. Bingkai tidak terbatas jika ini adalah Window.unboundedPreceding, atau nilai apa pun yang kurang dari atau sama dengan -9223372036854775808. |
end |
int | Batas akhir, inklusif. Bingkai tidak terbatas jika ini adalah Window.unboundedFollowing, atau nilai apa pun yang lebih besar dari atau sama dengan 9223372036854775807. |
Pengembalian Barang
WindowSpec
Catatan
Gunakan Window.unboundedPreceding, Window.unboundedFollowing, dan Window.currentRow untuk menentukan nilai batas khusus daripada menggunakan nilai integral secara langsung.
Examples
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|
# +---+--------+---+