本文簡要介紹
pyspark.sql.Window.rowsBetween
的用法。用法:
static Window.rowsBetween(start, end)
創建一個
WindowSpec
,定義了從start
(含)到end
(含)的幀邊界。start
和end
都是當前行的相對位置。例如,“0” 表示“current row”,而“-1” 表示當前行之前的行,“5” 表示當前行之後的第五行。我們建議用戶使用
Window.unboundedPreceding
、Window.unboundedFollowing
和Window.currentRow
來指定特殊邊界值,而不是直接使用整數值。基於行的邊界基於分區內行的位置。偏移量表示當前行上方或下方的行數,當前行的幀開始或結束。例如,給定一個基於行的滑動框架,其下限偏移量為 -1,上限偏移量為 +2。索引為 5 的行的框架範圍為索引 4 到索引 7。
2.1.0 版中的新函數。
- start:int
邊界開始,包括在內。如果這是
Window.unboundedPreceding
或任何小於或等於 -9223372036854775808 的值,則該幀是無界的。- end:int
邊界結束,包括在內。如果這是
Window.unboundedFollowing
或任何大於或等於 9223372036854775807 的值,則該幀是無界的。
參數:
例子:
>>> from pyspark.sql import Window >>> from pyspark.sql import functions as func >>> from pyspark.sql import SQLContext >>> sc = SparkContext.getOrCreate() >>> sqlContext = SQLContext(sc) >>> tup = [(1, "a"), (1, "a"), (2, "a"), (1, "b"), (2, "b"), (3, "b")] >>> df = sqlContext.createDataFrame(tup, ["id", "category"]) >>> window = Window.partitionBy("category").orderBy("id").rowsBetween(Window.currentRow, 1) >>> df.withColumn("sum", func.sum("id").over(window)).sort("id", "category", "sum").show() +---+--------+---+ | id|category|sum| +---+--------+---+ | 1| a| 2| | 1| a| 3| | 1| b| 3| | 2| a| 2| | 2| b| 5| | 3| b| 3| +---+--------+---+
相關用法
- Python pyspark Window.rangeBetween用法及代碼示例
- Python pyspark Window用法及代碼示例
- Python pyspark Word2Vec用法及代碼示例
- Python pyspark create_map用法及代碼示例
- Python pyspark date_add用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataStreamReader.schema用法及代碼示例
- Python pyspark MultiIndex.size用法及代碼示例
- Python pyspark arrays_overlap用法及代碼示例
- Python pyspark Series.asof用法及代碼示例
- Python pyspark DataFrame.align用法及代碼示例
- Python pyspark Index.is_monotonic_decreasing用法及代碼示例
- Python pyspark IsotonicRegression用法及代碼示例
- Python pyspark DataFrame.plot.bar用法及代碼示例
- Python pyspark DataFrame.to_delta用法及代碼示例
- Python pyspark element_at用法及代碼示例
- Python pyspark explode用法及代碼示例
- Python pyspark MultiIndex.hasnans用法及代碼示例
- Python pyspark Series.to_frame用法及代碼示例
- Python pyspark DataFrame.quantile用法及代碼示例
- Python pyspark Column.withField用法及代碼示例
- Python pyspark Index.values用法及代碼示例
- Python pyspark Index.drop_duplicates用法及代碼示例
- Python pyspark aggregate用法及代碼示例
- Python pyspark IndexedRowMatrix.computeGramianMatrix用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.Window.rowsBetween。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。