我已将数据加载到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分钟)作为另一列。
非常感谢任何帮助。
感谢。
答案 0 :(得分:2)
您可以尝试使用窗口功能:
df.groupBy(window(df["Time_Stamp"], "2 minutes"))
.count()
.show()