Вот мой KSQL с использованием пункта WINDOW TUMBLING
:
SELECT
sale_date,
region,
SUM(total)
FROM orders
WINDOW TUMBLING (SIZE 24 HOURS)
GROUP BY sale_date, region;
Некоторый результат:
2018-09-29|+|zskx_fz : Window{start=1538179200000 end=-} | 2018-09-29 | zskx_fz | 16119.8
2018-09-30|+|zskx_fz : Window{start=1538179200000 end=-} | 2018-09-30 | zskx_fz | 2031.6
2018-09-30|+|zskx_fz : Window{start=1538265600000 end=-} | 2018-09-30 | zskx_fz | 894.7
И эпоха миллис до настоящего времени:
1538179200000 = 2018-09-29 08:00:00 (UTC+8)
1538265600000 = 2018-09-30 08:00:00 (UTC+8)
Как мы видим, я в UTC+8. Но независимо от часового пояса, start
время даты должно быть 2018-09-29 00:00:00
не на 8 часов раньше. Так он может изменить часовой пояс?
PS: я попробовал несколько размеров окна в 2018-09-30 11:33:00
, и я полностью проиграл..
WINDOW TUMBLING (SIZE 1 minutes) 2018-09-30 11:32:00
WINDOW TUMBLING (SIZE 2 hours) 2018-09-30 10:00:00
WINDOW TUMBLING (SIZE 5 hours) 2018-09-30 07:00:00
WINDOW TUMBLING (SIZE 10 hours) 2018-09-30 02:00:00
WINDOW TUMBLING (SIZE 11 hours) 2018-09-30 07:00:00
WINDOW TUMBLING (SIZE 12 hours) 2018-09-30 08:00:00
WINDOW TUMBLING (SIZE 24 hours) 2018-09-30 08:00:00