pyspark Spark SQL前向间隔查找范围

s4n0splo  于 2023-03-28  发布在  Spark
关注(0)|答案(1)|浏览(133)

我有一个dataframe,其中包含user_id、date和value。我使用以下代码块获取每个用户三天的平均值:

spark.sql(
"""SELECT *, mean(value) OVER (
   PARTITION BY user_id
   ORDER BY CAST(date AS timestamp)
   RANGE BETWEEN INTERVAL 2 DAYS PRECEDING AND CURRENT ROW
   ) as mean FROM table1""")

我也想得到一个前瞻性的三天平均。基本上与上面相同的代码与以下调整

RANGE BETWEEN INTERVAL CURRENT ROW AND 2 DAYS AFTER

我试着用了一下这个方法,并在谷歌上搜索了一下,但似乎找不到正确的语法。我也试过使用一个负的前几天,它运行没有错误,但返回的平均值都是空值。
你知道正确的语法是什么吗?
编辑:
解决方案
BETWEEN CURRENT ROW AND INTERVAL 2 DAYS FOLLOWING

t9eec4r0

t9eec4r01#

当前行和间隔2天之间
感谢Ponder Stibons,他在评论中回答了这个问题

相关问题