【发布时间】:2021-06-05 23:24:52
【问题描述】:
我的要求是获得值减少的最大计数
以下是我的输入数据集:
+---+-------+
| id| amount|
+---+-------+
| 1| 10.0|
| 1| 9.0|
| 1| 7.0|
| 1| 6.0|
| 2| 50.0|
| 2| 60.0|
| 2| 70.0|
| 3| 90.0|
| 3| 80.0|
| 3| 90.0|
+---+-------+
我要求的结果如下:
+---+--------+
| id| outcome|
+---+--------+
| 1| 3|
| 2| 0|
| 3| 2|
+---+--------+
我的结果(新列)基于 id 分组以及该值连续下降 3 次的次数。对于 id 1,即使它减少了 4 次,我只想要最多 3 次。
在 spark sql 或 spark dataframe(scala) 中的任何建议或帮助将不胜感激。
【问题讨论】:
-
Spark 数据帧是无序的,并且您的数据帧中没有排序。由于缺少排序,未定义上一行的“减少”。
标签: scala dataframe apache-spark pyspark apache-spark-sql