-
参数:
timeColumn
:一个时间列,用于划分window
。它必须是pyspark.sql.types.TimestampType
windowDuration
: 表示时间窗口间隔的字符串。如'1 second','1 day 12 hours','2 minutes'
。单位字符串可以为'week','day','hour','minute','second','millisecond','microsecond'
。slideDuration
: 表示窗口滑动的间隔,即:下一个窗口移动多少。如果未提供,则窗口为tumbling windows
。 单位字符串可以为'week','day','hour','minute','second','millisecond','microsecond'
。startTime
:起始时间。它是1970-01-01 00:00:00
以来的相对偏移时刻。如,你需要在每个小时的15
分钟开启小时窗口,则它为15 minutes
:
- 返回值:返回一个称作
window
的struct
,它包含start,end
(一个半开半闭区间)
dense_rank()
:返回窗口内的排名。(1,2,...
表示排名为1,2,...
)rank()
:返回窗口内的排名。(1,2,...
表示排名为1,2,...
)。如有3个排名为1,则下一个排名是 4。
percent_rank()
:返回窗口的相对排名(如:百分比)-
参数:
col
:一个字符串或者Column
。开窗的列count
:偏移行
lead(col,count=1,default=None)
:返回当前行之后偏移行的值。如果当前行之后的行数小于count
,则返回default
值。参数:
col
:一个字符串或者Column
。开窗的列count
:偏移行default
:默认值
row_number()
: 返回一个序列,从 1 开始,到窗口的长度。