首页 > 解决方案 > PySpark groupby 多个时间窗口

问题描述

大家晚上好。我知道我们可以对多个列进行分组,只是df.groupBy('col1,'col2','col3') 我认为这种分组意味着它首先按 col1 分组,对于 col1 的每个成员,它按 col2 分组,依此类推。如果这是错误的,请纠正我,我昨天基本上是从 PySpark 开始的,因为这是一个大学项目。

我需要按 4 个成员对数据进行分组:2 个字符串列和 2 个时间窗口。

df.groupBy('col1,'col2','1HourTimeWindow','15MinTimeWindow')

我知道可以使用这样的窗口进行 groupBy, df.groupBy(window("timeCol", "1 hour"))但在同一个 groupBy 中不能有超过 1 个窗口。

您可以向我推荐的任何解决方案都会很棒。提前致谢

标签: pythondataframeapache-sparkpysparkapache-spark-sql

解决方案


通过聚合解决,groupBy(col1, col2, 15Min)然后在后续任务中按 1 小时分组。


推荐阅读