У меня есть файлы журналов, содержащие метку времени, идентификатор и действие. У меня есть некоторые примеры данных ниже. Фактические данные - это миллионы строк. Я надеюсь сгруппировать все действия, которые пользователи берут в рамках данного сеанса. И сеанс может быть определен как любой непрерывный вход журналов (от конкретного пользователя), где разрыв между предыдущей меткой времени составляет не более 30 минут.Ломать временные метки в сеансах, разбивая временные метки
timestamp id action
2014-06-30 21:57:16 234 1
2014-06-30 16:47:05 793 3
2014-06-30 16:47:15 793 1
2014-06-30 16:47:50 793 2
2014-06-30 16:48:07 793 5
2014-06-30 16:48:08 793 6
2014-06-30 16:48:48 793 7
2014-06-30 16:49:26 793 1
2014-06-30 16:49:28 993 3
2014-06-30 04:24:39 229 2
2014-06-30 21:53:38 822 4
Я надеюсь, что кто-то может указать мне в правильном направлении. Я уверен, что это было сделано раньше, но не удалось найти что-либо в Интернете. Думаю, я ищу неправильные вопросы.
Ищете что-то на основе SQL.
Используете ли вы SQL Server (microsoft), MySQL или что-то еще? – Joe
Я нахожусь в Hadoop. Итак, Hive/Pig/Streaming. Но, если нужно, я могу поместить части журналов в Teradata. – cloud36
Yikes. Я надеялся, что вы скажете SQL Server. ;-) В области SQL Server вы, вероятно, могли бы что-то сделать с помощью агрегатной функции, и это было бы не слишком сложно. Полагаю, мне следовало подойти поближе к вашим тегам! – Joe