【问题标题】:How to Calculate Bin Averages using Spark Scala?如何使用 Spark Scala 计算 Bin 平均值?
【发布时间】:2016-12-22 07:09:04
【问题描述】:

我有一个大约 12000 行的大型数据集。数据由位移值和时间戳组成。对于每 10 行,我想计算平均值、标准偏差等。

我可以为此使用窗口功能吗?或者有人可以提出更简单的方法吗?

P.S:我是 Spark 和 scala 的新手。提前致谢。

【问题讨论】:

  • 你自己想出了什么?你如何计算垃圾箱?您可以执行reduceByKey 操作,其中键是相应的 bin。
  • Binsize 没有预先定义。它是来自用户的输入参数。我不认为 reduceByKey 可以解决这个问题。

标签: scala apache-spark spark-dataframe


【解决方案1】:

是的,可以使用 rolling windowslagleadrowsBetween 等大量选项,具体取决于您的用例,这里有一些链接:windows explained more windows info

【讨论】:

  • 你知道增加窗口函数步长/滑动大小的方法吗?默认情况下,它设置为 1。
  • 据我所知,Window 函数会计算每一行的结果,有重叠。我想要每个 bin 一个结果。即平均10行。然后平均接下来的 10 行。 [1-10 - bin1,11-20 -bin2 ] 以此类推。
  • 请粘贴您的代码 - 数据框和所需的输出