首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka流:每月时间窗口

Kafka流:每月时间窗口
EN

Stack Overflow用户
提问于 2020-12-08 16:28:51
回答 1查看 808关注 0票数 1

基于这个例子(https://github.com/confluentinc/kafka-streams-examples/blob/5.5.0-post/src/test/java/io/confluent/examples/streams/window/DailyTimeWindows.java),我想创建一个每月的时间窗口。问题是尺寸法,我不知道它的大小,因为每个月都有不同的大小。

对于更多的上下文,我希望计算每个在一个月内基于userId进行事务的唯一用户。

windowsFor方法的实际实现:

代码语言:javascript
复制
public Map<Long, TimeWindow> windowsFor(final long timestamp) {
    final Instant instant = Instant.ofEpochMilli(timestamp);

    final ZonedDateTime zonedDateTime = instant.atZone(this.zoneId);

    final ZonedDateTime startTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS).withDayOfMonth(1);
    final ZonedDateTime endTime = startTime.plusMonths(1);

    final Map<Long, TimeWindow> windows = new LinkedHashMap<>();
    windows.put(toEpochMilli(startTime), new TimeWindow(toEpochMilli(startTime), toEpochMilli(endTime)));
    return windows;
}

有人有主意吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 09:37:22

不幸的是,基于日历的窗口目前不支持卡夫卡流.有一个票证请求它。

主要问题在于Kafka流如何序列化时间窗口。在您所链接的示例的测试中,有一个关于这个限制的用解释测试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65202905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档