pyspark是否支持窗口函数(例如first, last, lag, lead)?
例如,如何按一列分组并按另一列排序,然后按SparkSQL或数据框选择每个组的第一行(这就像窗口函数一样)?我发现pyspark.sql.functions类包含聚合函数first和last,但它们不能用于groupBy类。
我正在尝试使用一个列表来分组这些行,作为熊猫分组的一种方式。我想对数据帧中的N行数进行分组,因此我采用了groupby将列表作为输入并按该顺序对行进行分组的方法。在讨论这个问题之前,让我向您展示我用于分组行的代码。with even / odd number of rows)
n_groups = math.ceil(n_rows / n_elems)