以 10 秒为间隔对分区中的最小列值进行分组记录 - SQL 或 Spark Databricks

问题描述 投票:0回答:0

我需要以 10 秒的间隔对记录进行分组,并将最小列值作为分区的开始。如果记录超出 10 秒,则新组开始。下面是一个分区,需要按预期结果所示进行分组。

时间 文字
2023-04-11 04:20 va11
2023-04-11 04:36 val2
2023-04-11 04:42 val3
2023-04-11 04:44 val4
2023-04-11 04:47 val5
2023-04-11 04:48 val6
2023-04-11 04:51 val7
2023-04-11 04:57 val8
2023-04-11 05:13 val9
时间 连接文本
2023-04-11 04:20 val1
2023-04-11 04:36 val2 : val3 : val4
2023-04-11 04:47 val5 : val6 : val7 : val8
2023-04-11 05:13 val9

输出时间是最小值或 10 秒间隔的开始。第一组从 4.2 开始,因为在 4.2 和 4.3 之间没有其他值(10 秒间隔),concatText 组中只有一个值。下一组应该在下一次(4.36,而不是 4.31)开始,然后继续接下来的 10 秒等等......

10 秒间隔内可以有任意数量的记录。一个或多个。

sql scala apache-spark databricks
© www.soinside.com 2019 - 2024. All rights reserved.