0



这不是最容易解释的,所以我会尽力而为,但请询问您是否需要更多说明。
我正在使用 hive SQL,并且有一个包含用户和事件时间的表。我要计算的内容,如下面的 rownum 列所示,是一个在 4 小时窗口内按用户和事件时间划分的递增序列,在第一个包含值的 event_time 后 4 小时重置。

所以在下表中...

用户 A 的所有记录都在 00:01:00
- 04:00:00 之间 用户 B 有 3 个事件,在 00:01:00 - 04:01:00 的第一个窗口之间,并且从 04:08:00 - 08:08:00 在第二个窗口中
有 2 个事件 用户 C 在第一个 00:01:00 - 04:01:00 窗口中有 2 个事件,在第二个 04:10:00 有 1 个事件 - 08:10:00 窗口,以及 08:15:00 - 12:15:00 窗口中的 2 个事件

任何帮助/指针将不胜感激!

| user | event_time | rownum |
|------|------------|--------|
| A    | 00:01:00   | 1      |
| A    | 00:02:00   | 2      |
| A    | 02:30:00   | 3      |
| B    | 00:01:00   | 1      |
| B    | 00:02:00   | 2      |
| B    | 02:30:00   | 3      |
| B    | 04:08:00   | 1      |
| B    | 04:10:00   | 2      |
| C    | 00:01:00   | 1      |
| C    | 00:02:00   | 2      |
| C    | 04:10:00   | 1      |
| C    | 08:15:00   | 1      |
| C    | 08:17:00   | 2      |
4

0 回答 0