【发布时间】:2020-10-18 18:04:10
【问题描述】:
我有一个超过 20 列的 DF。对于每一列,我需要找到前导值并将其添加到结果中。
我一直在使用 with 列。
df
.withColumn("lead_col1", lead("col1").over(window))
.withColumn("lead_col2", lead("col2").over(window))
.withColumn("lead_col3", lead("col3").over(window))
还有 17 行这样的。有没有办法使用更少的代码来做到这一点?我尝试使用this 示例,但它不起作用。
【问题讨论】:
-
如果你使用的是scala,你可以有列表列并使用foldleft添加列。
标签: apache-spark apache-spark-sql