Импала: беговая сумма 1 час - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу посчитать записи каждого ID в течение 1 часа.Я опробовал некоторые запросы IMPALA, но безуспешно.

У меня есть следующие входные данные:

enter image description here

И ожидаемый результат будет:

enter image description here

Я пытался:

select
      concat(month,'/',day,'/',year,' ',hour,':',minute) time, id,
     count(1) over(partition by id order by concat(month,'/',day,'/',year,' ',hour,':',minute) range between '1 hour' PRECEDING AND CURRENT ROW) request
       from rt_request
       where
    concat(year,month,day,hour) >= '2019020318' 
group by id, concat(month,'/',day,'/',year,' ',hour,':',minute)

Но я получил исключение.

ДИАПАЗОНподдерживается только с нижней и верхней границами UNBOUNDED или одной UNBOUNDED и другой CURRENT ROW.

Будем благодарны за любые предложения / помощь.Заранее спасибо!

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, что вы ищете счетчики за один и тот же час по дням для данного идентификатора.Вы можете просто использовать row_number для этого.

select time,id,row_number() over(partition by id,hour order by concat(month,'/',day,'/',year,' ',hour,':',minute)) as total
from tbl
...