如何使用pyspark从每日数据计算6个月移动平均值

时间:2019-02-26 20:25:40

标签: apache-spark pyspark

我正在尝试计算pyspark过去六个月的价格移动平均值。

目前我的桌子有6个月的滞后日期。

id  dates         lagged_6month  price
1   2017-06-02    2016-12-02     14.8
1   2017-08-09    2017-02-09     16.65
2   2017-08-16    2017-02-16     16
2   2018-05-14    2017-11-14     21.05
3   2017-09-01    2017-03-01     16.75

所需结果

id  dates       avg6mprice
 1   2017-06-02  20.6
 1   2017-08-09  21.5
 2   2017-08-16  16.25
 2   2018-05-14  25.05
 3   2017-09-01  17.75

示例代码

from pyspark.sql.functions import col
from pyspark.sql import functions as F
df = sqlContext.table("price_table")
w = Window.partitionBy([col('id')]).rangeBetween(col('dates'),col('lagged_6month'))

RangeBetween似乎不接受列作为窗口函数中的参数。

0 个答案:

没有答案