11. class pyspark.sql.Window
用于在DataFrame中定义窗口的实用函数。
window=Window.partitionBy("country").orderBy("date").rowsBetween(-sys.maxsize,0)
11.1 static orderBy(*cols)
用定义的顺序创建一个WindowSpec。
11.2 static partitionBy(*cols)
用定义的分区创建一个WindowSpec。
In [426]: from pyspark.sql.window import Window
In [427]: w = Window.partitionBy(df.name).orderBy(df.age)
11. class pyspark.sql.WindowSpec(jspec)
定义分区,排序和框边界的窗口规范。
使用Window中的静态方法创建一个WindowSpec
11.3 orderBy(*cols)
定义WindowSpec中的排序列。
参数:● cols – 列或表达式的名称
11.4 partitionBy(*cols)
定义WindowSpec中的分区列。
参数:● cols – 列或表达式的名称
11.5 rangeBetween(start, end)
定义从开始(包含)到结束(包含)的框边界。
start, end都是相对于当前行。 例如,“0”表示“当前行”,而“-1”表示在当前行之前一次,“5”表示当前行之后五次关闭。
参数:●start – 开始边界(包括)。 如果这是-sys.maxsize(或更低),则该框架是无限的。
● end – 结束边界(包括)。如果这是sys.maxsize(或更高),则该框架是无限的。
11.6 rowsBetween(start, end)
定义从开始(包含)到结束(包含)的框边界。
start, end都是相对于当前行。 例如,“0”表示“当前行”,而“-1”表示在当前行之前一次,“5”表示当前行之后五次关闭。
参数:●start – 开始边界(包括)。 如果这是-sys.maxsize(或更低),则该框架是无限的。
● end – 结束边界(包括)。如果这是sys.maxsize(或更高),则该框架是无限的。