apache-spark - 不基于分区的 Apache Spark Dataframe 列的累积总和
问题描述
建议使用窗口函数来计算 Spark 数据帧的列的累积总和。但是,窗口函数用于计算分区内的累积和。我想计算没有分区(或只有一个分区)的数据帧中的累积和。我努力了:
import org.apache.spark.sql.expressions
val w = Window.orderBy($"index")
.rowsBetween(Window.unboundedPreceding, Window.currentRow)
val newDf = inputDF.withColumn("cum_sum", sum($"variance").over(w))
和
import org.apache.spark.sql.expressions
val tempDF = inputDF.withColumn("par", lit(0))
val w = Window.partitionBy($"par").orderBy($"index")
.rowsBetween(Window.unboundedPreceding, Window.currentRow)
val newDf = tempDF.withColumn("cum_sum", sum($"variance").over(w))
在这两种情况下,cum_sum
列与列相同variance
。
有没有办法在没有分区的情况下计算 SparkSQL 中的累积和?
解决方案
推荐阅读
- reactjs - 错误:超过最大更新深度(再次!)
- altair - 在 altair 中选择空栏
- javascript - 如何使用赛普拉斯更改查询中的选择器
- node.js - 在 nodeJs 中监听一个 url
- javascript - UTC 天数到本地时区天数
- python - Keras 包裹图层并保存
- php - Ajax 代码无法将我带到正确的页面
- react-native - 具有两列的容器:第一个具有固定宽度,第二个具有 flex grow
- reactjs - recharts折线图未呈现
- javascript - 如何在 JEST 中测试并行的模拟数据请求,同时以 500 毫秒的阈值模拟缓存响应