В Hive, страницы, которые повторяются в данных журнала, хотят разделить и упорядочить сеансы только с оставшимся временем, когда они в первый раз
ID Page Timestamp
Orestes Login 152356
Orestes Login 152360
Orestes Account view 152368
Orestes Account view 152372
Orestes Transfer 152380
Orestes Account view 152382
Orestes Account view 152390
Orestes Loan 152393
Antigone Login 152382
Antigone Transfer 152390
Antigone Account view 152392
Antigone Account view 152395
Antigone Trust 152399
Я хотел бы изменить его, как показано ниже.
ID Page Timestamp Sequence
Orestes Login 152356 1
Orestes Account view 152368 2
Orestes Transfer 152380 3
Orestes Account view 152382 4
Orestes Loan 152393 5
Antigone Login 152382 1
Antigone Transfer 152390 2
Antigone Account view 152392 3
Antigone Trust 152399 4
Скрипт таблицы ...
insert into log values('Orestes','Login',152356)
insert into log values('Orestes','Login',152360)
insert into log values('Orestes','Account view',152368)
insert into log values('Orestes','Account view',152372)
insert into log values('Orestes','Transfer',152380)
insert into log values('Orestes','Account view',152382)
insert into log values('Orestes','Account view',152390)
insert into log values('Orestes','Loan',152393)
insert into log values('Antigone','Login',152382)
insert into log values('Antigone','Transfer',152390)
insert into log values('Antigone','Account view',152392)
insert into log values('Antigone','Account view',152395)
insert into log values('Antigone','Trust',152399)```
Для этого задания
With cte as
(
Select id, page, min(timestamp) timestamp from log group by id, page)
)
Select id, page, timestamp, rank() over (partition by id order by timestamp) from log
В этом случае, однако, одним из представлений учетной записи orestes является потерял. Как я могу решить эту проблему?