PySpark groupby 多个时间窗口

Posted

技术标签:

【中文标题】PySpark groupby 多个时间窗口【英文标题】:PySpark groupby multiple time window 【发布时间】:2021-02-16 17:42:11 【问题描述】:

大家晚上好。我知道我们可以通过 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 个窗口。

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

【问题讨论】:

您能否提供一些示例数据以更好地了解您想要实现的目标。 【参考方案1】:

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

【讨论】:

以上是关于PySpark groupby 多个时间窗口的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark 根据数据框 groupBy 制作多个文件

具有多个聚合的 pyspark groupBy(如 pandas)

pyspark:groupby 和聚合 avg 和 first 在多个列上

如何在pyspark中运行多个k意味着集群和使用groupBy

Pyspark - 如何拆分具有 Datetime 类型的结构值的列?

在 Pyspark 中管理多个数据框