在pySpark中定义自定义窗口功能

时间:2019-07-18 12:49:00

标签: pyspark apache-spark-sql user-defined-functions window-functions

我在Spark中有一个数据框,为此,我想创建一个递归定义的列,如下所示:

new_column_row = f(last_column_row, other_parameters)

做到这一点的最好方法是定义我的自定义窗口函数,但是我找不到在PySpark中做到这一点的方法,有人遇到过同样的问题吗?

我正在研究的案例是:

我的问题是关于从订单列表中重建订单簿:

我有一个这样的数据框(值是我要计算的值)

size | price | output 
1    |  1    | {1:1}
1.2  |  1.1  | {1:1, 1.2:1.1}
1.3  |  - 1. | {1.2:1.1}

每行输出都会像这样更新(使用python伪代码)

- if price not in Output: 
     Output[price] = size
- if price in Output: 
     Output[price] = output[price] + size
     if Output[price] = 0: 
          del Output[price]

0 个答案:

没有答案