PySpark - 在Window上计算不同的值

时间:2018-03-05 15:54:06

标签: count pyspark spark-dataframe window-functions distinct-values

我想在滚动窗口中计算列(NumberOfItems)的不同值:

rollingWindow = Window.partitionBy('orderID').orderBy("ROWNUMBER").rowsBetween(-3, 0)

我能够计算总和,平均值和其他函数,但是我无法在窗口上计算“NumberOfItems”列的不同值。

ds.withColumn( "AVG_NUMBEROFITEMS",func.avg(ds["NumberOfItems"]).over(rollingWindow)).orderBy("ROWNUMBER").show()

我正在使用pyspark(Spark 1.6.1)。

以下解决方案对我没有用处: pyspark: count distinct over a window获取以下错误消息:'java.lang.UnsupportedOperationException:'窗口操作不支持'collect_set(NumberOfItem)。')。

非常感谢任何反馈。谢谢!

0 个答案:

没有答案