說明:
定義幀邊界,從start
(含)到end
(含)。
用法:
rangeBetween(x, start, end)
## S4 method for signature 'WindowSpec,numeric,numeric'
rangeBetween(x, start, end)
參數:
x
一個窗口規範start
邊界開始,包括在內。如果這是最小的 long 值,則該幀是無界的。end
邊界結束,包括在內。如果這是最大的 long 值,則該幀是無界的。
細節:
start
和 end
都是相對於當前行的。例如"0"表示"current row","-1"表示當前行前一關,"5"表示當前行後五關。
我們建議用戶使用 Window.unboundedPreceding
, Window.unboundedFollowing
和 Window.currentRow
來指定特殊的邊界值,而不是直接使用 long 值。
基於範圍的邊界基於 ORDER BY 表達式的實際值。偏移量用於更改 ORDER BY 表達式的值,例如,如果當前 ORDER BY 表達式的值為 10 並且下限偏移量為 -3,則當前行的結果下限將為 10 - 3 = 7. 然而,這對 ORDER BY 表達式施加了許多限製:隻能有一個表達式,並且該表達式必須具有數字數據類型。當偏移量不受限製時可能會出現異常,因為不需要修改值,在這種情況下,允許使用多個非數字 ORDER BY 表達式。
返回:
一個窗口規範
注意:
rangeBetween 自 2.0.0 起
例子:
id <- c(rep(1, 3), rep(2, 3), 3)
desc <- c('New', 'New', 'Good', 'New', 'Good', 'Good', 'New')
df <- data.frame(id, desc)
df <- createDataFrame(df)
w1 <- orderBy(windowPartitionBy('desc'), df$id)
w2 <- rangeBetween(w1, 0, 3)
df1 <- withColumn(df, "sum", over(sum(df$id), w2))
head(df1)
相關用法
- R SparkR randomSplit用法及代碼示例
- R SparkR read.stream用法及代碼示例
- R SparkR rbind用法及代碼示例
- R SparkR rollup用法及代碼示例
- R SparkR refreshTable用法及代碼示例
- R SparkR read.jdbc用法及代碼示例
- R SparkR registerTempTable用法及代碼示例
- R SparkR read.text用法及代碼示例
- R SparkR read.ml用法及代碼示例
- R SparkR rename用法及代碼示例
- R SparkR repartition用法及代碼示例
- R SparkR recoverPartitions用法及代碼示例
- R SparkR read.df用法及代碼示例
- R SparkR read.json用法及代碼示例
- R SparkR repartitionByRange用法及代碼示例
- R SparkR rowsBetween用法及代碼示例
- R SparkR refreshByPath用法及代碼示例
- R matrix轉list用法及代碼示例
- R SparkR freqItems用法及代碼示例
- R SparkR intersectAll用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 rangeBetween。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。