pyspark.sql.Window.rowsBetween¶
-
静态
窗口。
rowsBetween
( 开始:int,结束:int )→pyspark.sql.window.WindowSpec¶ -
创建一个
WindowSpec
与帧边界定义,开始(包容)结束(包容)。这两个开始和结束从当前行相对位置。例如,“0”意味着“当前行”,而“1”是指行当前行之前,“5”是指第五行后当前行。
我们建议用户使用
Window.unboundedPreceding
,Window.unboundedFollowing
,Window.currentRow
指定特殊的边界值,而不是直接使用积分值。基于连续边界的位置排在分区。一个偏移量显示的行数高于或低于当前行,框架为当前行开始或结束。例如,给出一个基于行滑动框架绑定抵消较低的1 + 2的上界抵消。连续的帧索引5将从指数4指数7。
- 参数
-
- 开始 int
-
边界开始,包容。如果这是框架是无界的
Window.unboundedPreceding
,或任何值小于或等于-9223372036854775808。 - 结束 int
-
边界,包容性。如果这是框架是无界的
Window.unboundedFollowing
,或任何价值大于或等于9223372036854775807。
例子
> > >从pyspark.sql进口窗口> > >从pyspark.sql进口功能作为函数> > >从pyspark.sql进口SQLContext> > >sc=SparkContext。getOrCreate()> > >sqlContext=SQLContext(sc)> > >锤头=((1,“一个”),(1,“一个”),(2,“一个”),(1,“b”),(2,“b”),(3,“b”)]> > >df=sqlContext。createDataFrame(锤头,(“id”,“类别”])> > >窗口=窗口。partitionBy(“类别”)。orderBy(“id”)。rowsBetween(窗口。currentRow,1)> > >df。withColumn(“和”,函数。总和(“id”)。在(窗口))。排序(“id”,“类别”,“和”)。显示()+ - - - + - - - - - - - - - - + - - - +| |和| |类别id+ - - - + - - - - - - - - - - + - - - +| 1 | | 2 || 1 | | 3 || 1 | 2 | 3 || 2 | | 2 || 2 | b | 5 || 3 | b | 3 |+ - - - + - - - - - - - - - - + - - - +