首页 > 解决方案 > Databricks SQL - 间隔中的最大同时事件计数

问题描述

我正在使用数据块,我有一个 1.5 亿行数据集“df1”,其中包含以下列:

您可以在此处查看“df1”的示例

我想创建另一个数据集“df2”,计算所有同时发生的事件,并且对于每 5 分钟的时间窗口,获取最大值。另外,每个 group_event_id 都需要它。“df2”数据集应该是这样的:

您可以在此处查看“df2”示例

我想在最小开始时间之前的时间窗口开始 time_window 列,并在最大结束时间之后的时间窗口结束它。你能帮助我吗?

标签: sqldatabrickssimultaneous

解决方案


您可能需要查询和加入很多!您可以通过开始和结束时间(派生表)的联合获得一个不同的组列表、关键时间 ctime,然后将其加入到每个组的表聚合和 ctime 多少组 = 和 start >= ctime 和 end < ctime (假设不包括结束时间)。该窗口在组内从一个 ctime 到下一个 ctime。这可能在后期处理中做得更好。


推荐阅读