1

我已将数据加载到 Spark 数据框中,并正在使用 Spark SQL 进一步处理它。

我的问题很简单:

我有如下数据:

Event_ID Time_Stamp
1        2018-04-11T20:20..
2        2018-04-11T20:20..+1

等等。

我想获取每 2 分钟发生的事件数。

所以,

我的输出将是:

Timestamp           No_of_events
2018-04-11T20:20..    2
2018-04-11T20:20..+2  3  

在 Pandas 中这很容易,但我不知道如何在 Spark SQL 中做到这一点。

上述格式数据必须以时间戳为一列,在该时间桶内发生的事件数(即黑白时间戳和时间戳+2分钟)作为另一列。

很感谢任何形式的帮助。

谢谢。

4

1 回答 1

2

您可以尝试使用窗口功能:

  df.groupBy(window(df["Time_Stamp"], "2 minutes"))
    .count()
    .show()
于 2018-05-02T09:10:24.690 回答