小编geo*_*t85的帖子

Pyspark 窗口函数在其他列上带有过滤器

我有一个 pyspark 数据框,其中包含以下数据:

| y | date       | amount| id |
 ----------------------------- 
| 1 | 2017-01-01 | 10    | 1  |
| 0 | 2017-01-01 | 2     | 1  |
| 1 | 2017-01-02 | 20    | 1  |
| 0 | 2017-01-02 | 3     | 1  |
| 1 | 2017-01-03 | 2     | 1  |
| 0 | 2017-01-03 | 5     | 1  |
Run Code Online (Sandbox Code Playgroud)

我想应用窗口函数,但sum仅应用聚合函数 y==1 的列,但仍保留其他列。我要应用的窗口是:

w = Window \
        .partitionBy(df.id) \
        .orderBy(df.date.asc()) \
        .rowsBetween(Window.unboundedPreceding, …
Run Code Online (Sandbox Code Playgroud)

window-functions apache-spark apache-spark-sql pyspark

6
推荐指数
1
解决办法
4714
查看次数