Databricks SQL - 间隔中的最大同时事件计数

Posted

技术标签:

【中文标题】Databricks SQL - 间隔中的最大同时事件计数【英文标题】:Databricks SQL - Max count simultaneous events in intervals 【发布时间】:2020-12-16 18:53:39 【问题描述】:

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

event_id event_group_id 开始时间(时间戳) 结束时间(时间戳)

You can see an example of "df1" here

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

time_window event_group_id max_event_count

You can see an example of "df2" here

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

【问题讨论】:

请提供样本数据和期望的结果。 【参考方案1】:

您可能需要查询和加入很多!您可以通过开始和结束时间(派生表)的联合获得一个不同的组列表、关键时间 ctime,然后将其加入到每个组的表聚合和 ctime 多少组 = 和 start >= ctime 和 end

【讨论】:

以上是关于Databricks SQL - 间隔中的最大同时事件计数的主要内容,如果未能解决你的问题,请参考以下文章

Databricks (Azure) SQL 中的 For/Loop/While

SQL 语句中的 Databricks 错误:AnalysisException:无法解析 '``' 给定的输入列:

如何从 Databricks 中的 SQL 语句输出创建变量

Databricks/Spark SQL 中的反透视表

如何计算 Spark SQL(Databricks)中表中的列数?

无法从 databricks pyspark 工作人员写入 Azure Sql DataWarehouse