apache-kafka - KSQL - 在 WINDOW TUMBLING 子句中更改时区
问题描述
这是我的 KSQL usingWINDOW 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
解决方案
时间戳窗口始终是相对于 UTC/GMT 的纪元计算的。
我可以看到想要根据您的时区按天汇总的有效性。我在 KSQL github 项目上提出了它作为一个问题,并建议你在那里跟踪它。
推荐阅读
- python - 将 nan 替换为 NOT KNOWN
- c# - 从 url 在移动应用程序中显示 PDF 文件
- google-colaboratory - 在 Google Colab 中修改 .py 文件不生效
- html - 在屏幕上放置一系列标签
- javascript - 水平多行滚动画廊?
- node.js - 如何将文件上传到 nodejs kubeless 函数?
- javascript - 节点js mongodb中的异步/等待处理错误
- mysql - 从 STATION 查询不以元音开头且不以元音结尾的 CITY 名称列表。您的结果不能包含重复项
- reactjs - 在 ReactJS 中添加一个类并从另一个类中删除类
- python - pybind11::array_t 是否有(深)复制构造函数?