найти последние 5 минут просмотра страницы - PullRequest
0 голосов
/ 17 октября 2018

У меня есть тема кафки по имени page_views и поток по имени pageviews.Теперь я хочу рассчитать последние 5 минут просмотра страницы. Я использую ksql.Пробовал с

SELECT after->pageview_id FROM pageviews WHERE after->pageview_id >= NOW() - INTERVAL 10 MINUTE;

и

SELECT AFTER ->pageview_id FROM pageviews WHERE after->pageview_id >= sysdate - 5/(24*60);

, но не работает.Это вложенная авро схема.

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать HOPPING окно для эмуляции скользящего окна в KSQL.Для скачкообразного окна вы должны указать размер окна, который в этом случае равен 5 minutes, и предварительное значение, которое указывает, как окно движется, т.е. скользит (например, каждую 1 секунду).Таким образом, вы можете написать запрос следующим образом:

CREATE STREAM foo AS SELECT after->pageview_id AS pv_id FROM pageviews;

CREATE TABLE bar AS SELECT pv_id, COUNT(pv_id) FROM foo WINDOW HOPPING (SIZE 5 MINUTES, ADVANCE BY 1 SECOND) GROUP BY pv_id;

Для получения дополнительной информации о HOPPING WINDOW см. Следующие страницы:

...