python - 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 个窗口。
您可以向我推荐的任何解决方案都会很棒。提前致谢
解决方案
通过聚合解决,groupBy(col1, col2, 15Min)
然后在后续任务中按 1 小时分组。
推荐阅读
- python - 如何解决 PyAudio 安装错误
- c# - Asp.Net Core - Identity SignInManager - 如何使用附加条件登录以便用户登录(例如:ClientId、UserName 和 Password))
- jquery - 如何运行 setTimeout() 直到特定事件?
- sql - NULL 或零金额的合并等价物
- c - 检查范围内的所有值是否存在于C中的数组中的最佳方法是什么?
- python-3.x - 具有两个变量的函数:一个将用作函数中的字符串 - Python 3 - pandas
- android - 在 BottomSheetDialogFragment 中以编程方式设置窥视高度
- python - 网络浏览器打开的标签不超过 1 个
- google-cloud-platform - Google 存储权限访问被拒绝
- python - 在 Atom 中运行 Python 并接受用户输入