【发布时间】:2020-01-31 12:43:50
【问题描述】:
我在 Dataframe 中有 100 个浮点列,按日期排序。
ID Date C1 C2 ....... C100
1 02/06/2019 32.09 45.06 99
1 02/04/2019 32.09 45.06 99
2 02/03/2019 32.09 45.06 99
2 05/07/2019 32.09 45.06 99
我需要根据id和日期在累计和中得到C1到C100。
目标数据框应如下所示:
ID Date C1 C2 ....... C100
1 02/04/2019 32.09 45.06 99
1 02/06/2019 64.18 90.12 198
2 02/03/2019 32.09 45.06 99
2 05/07/2019 64.18 90.12 198
我想在不从 C1-C100 循环的情况下实现这一点。
一列的初始代码:
var DF1 = DF.withColumn("CumSum_c1", sum("C1").over(
Window.partitionBy("ID")
.orderBy(col("date").asc)))
我在这里发现了一个类似的问题,但他手动为两列做了:Cumulative sum in Spark
【问题讨论】:
-
你得到这个问题的答案了吗?
标签: scala apache-spark apache-spark-sql