sparkDataframe滚动窗口用户定义操作

fkvaft9z  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(289)

有没有一种方法来定义滚动窗口设计的用户功能?
例如,我知道我们可以用滚动计算平均值如下-

val wSpec1 = Window.orderBy("c1").rowsBetween(-20, +20)
var dfWithMovingAvg = df.withColumn( "Avg",avg(df("c2")).over(wSpec1))

现在,万一我需要把平均值改成自定义函数( XYZ ),我该怎么做?比如说,我需要执行+,-,+,-或者-,来覆盖滚动窗口

val wSpec1 = Window.orderBy("c1").rowsBetween(-20, +20)
var dfWithAlternate = df.withColumn( "alter",XYZ(df("c2")).over(wSpec1))

现在如何定义函数xyz?我知道我能做到,但是语法的挑战太难了。我做了avg功能,即使是很难理解。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题