【发布时间】:2018-12-14 04:16:19
【问题描述】:
我有一个如下所示的数据框
+----+----+----------+----------+
|colA|colB| colC| colD|
+----+----+----------+----------+
| a| 2|2013-12-12|2999-12-31|
| b| 3|2011-12-14|2999-12-31|
| a| 4|2013-12-17|2999-12-31|
| b| 8|2011-12-19|2999-12-31|
| a| 6|2013-12-23|2999-12-31|
+----+----+----------+----------+
我需要根据 ColA 对记录进行分组,并根据 colC 对记录进行排名(最近的日期排名更大),然后通过从相邻排名的 colC 记录中减去一天来更新 colD 中的日期。
最终的数据框应如下所示
+----+----+----------+----------+
|colA|colB| colC| colD|
+----+----+----------+----------+
| a| 2|2013-12-12|2013-12-16|
| a| 4|2013-12-17|2013-12-22|
| a| 6|2013-12-23|2999-12-31|
| b| 3|2011-12-14|2011-12-18|
| b| 8|2011-12-29|2999-12-31|
+----+----+----------+----------+
【问题讨论】:
标签: scala apache-spark dataframe apache-spark-sql window-functions