我想对 spark Dataframe (Spark 2.1) 中的一列应用求和,我有两种方法可以做到这一点:
1- 使用窗口功能:
val windowing = Window.partitionBy("id")
dataframe
.withColumn("sum", sum(col("column_1")) over windowing)
Run Code Online (Sandbox Code Playgroud)
2- 使用 agg 功能:
dataframe
.groupBy("id")
.agg(sum(col("column_1")).alias("sum"))
Run Code Online (Sandbox Code Playgroud)
就表演而言,最好的方法是什么?这两种方法有什么区别?