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 |+ - - - + - - - - - - - - - - + - - - +