分组并减去 Spark Scala



我有一个如下所示的数据帧:

group value
B      2
B      3
A      5
A      6

现在我需要根据组减去行。 即 2-3 和 5-6。 转换后,它应该看起来像这样。

group value
B      -1
A      -1

尝试了下面的代码,但无法解决我的情况。

val df2 = df1.groupBy("Group").agg(first("Value")-second(col("Value")))
import org.apache.spark.sql.expressions.Window
val df2 = df1.select("group", "value", $"value" - lead("value").over(Window.partitionBy("group").orderBy("value")))

我猜您正在尝试按顺序减去两个相邻的值。

这对

我有用。

val df2 = df1.groupBy("Group").agg(first("Value").minus(last(col("Value"))))

相关内容

  • 没有找到相关文章

最新更新