java - 如何处理 Kafka Streams 中的不同时区?
问题描述
因此,我正在评估 Kafka Streams 以及它可以做些什么来查看它是否适合我的用例,因为我需要每隔 15 分钟、每小时、每天聚合一次传感器的数据,并且由于它的 Windowing 功能而发现它很有用。因为我可以通过应用创建窗口,windowedBy()
但KGroupedStream
问题是窗口是在 UTC 中创建的,我希望我的数据按其原始时区而不是按 UTC 时区分组,因为它阻碍了聚合,所以任何人都可以帮助我解决这个问题。
解决方案
您可以使用自定义“移动”时间戳TimestampExtractor
- 在将结果写回输出主题之前,您可以使用 aTransformer
并通过context.forward(key, value, To.all().withTimestamps())
.
推荐阅读
- sql - 表的动态列
- eclipse - 使用 utf-8 等价物自动替换文本文件中的 unicode \uxxxx 字符
- unix - Unix; 命令行从文件中删除包含子字符串的所有行
- abap - ABAP 报告工具栏已禁用
- ios - 有时,UserDefaults 会在重新启动应用程序后重新加载已删除的数据
- terraform - 使用 terraform 版本从 0.12 升级到 0.13
- blazor-server-side - blazor 服务器端 Web 应用程序中的通知实现
- reactjs - 如何在反应道具中引入条件?
- jquery - 我想用 cypress 在 ag 网格行中断言文本,但无法获得正确的数据格式
- c - 如果我不使用 return 0 会发生什么;在 C 中