说明:
定义帧边界,从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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。