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(如 pandas)
pyspark:groupby 和聚合 avg 和 first 在多个列上
如何在pyspark中运行多个k意味着集群和使用groupBy