Spark DataFrame: группировка по временным промежуткам

My Spark DataFrame содержит следующие данные:

 user_id | id | timestamp
---------|----|-------------------
 123     | 2  | 2018-10-12 9:25:30
 123     | 3  | 2018-10-12 9:27:20
 123     | 4  | 2018-10-12 9:45:15
 123     | 5  | 2018-10-12 9:47:40
 234     | 6  | 2018-10-12 9:26:32
 234     | 7  | 2018-10-12 9:28:21
 234     | 8  | 2018-10-12 9:46:16
 234     | 9  | 2018-10-12 9:48:43

Мне нужно посчитать, сколько записей у каждого пользователя с разницей во времени менее 15 минут. Результат должен выглядеть так:

 user_id | count | window
---------|-------|----------------------------------------
 123     | 2     | 2018-10-12 9:25:30 - 2018-10-12 9:27:20
 123     | 2     | 2018-10-12 9:45:15 - 2018-10-12 9:47:40
 234     | 2     | 2018-10-12 9:26:32 - 2018-10-12 9:28:21
 234     | 2     | 2018-10-12 9:46:16 - 2018-10-12 9:48:43

0 ответов

Другие вопросы по тегам