首页 > 解决方案 > 在 pySpark 中定义自定义窗口函数

问题描述

我在 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]

标签: pysparkapache-spark-sqluser-defined-functionswindow-functions

解决方案


推荐阅读