gpt4 book ai didi

java - 卡夫卡流-按值属性分组?

转载 作者:行者123 更新时间:2023-12-02 08:53:37 25 4
gpt4 key购买 nike

我有一个带有以下内容的流:

Key: { "Symbol": "xxx" }
Value: { "Date": "2019-01-01", ... }

所以,我想按符号分组,然后按 5 天的时间段按 Value.Date 分组。 IE。 01-01 -> 01-05。

KStream<Key, Value> stream = kStreamBuilder.stream(...);

stream.groupBy((key, value) -> key.getSymbol())

所以我已经正确获取了流,第一步,我按 Key.Symbol 进行分组。不太确定从这里去哪里。任何指示将不胜感激。

最佳答案

您可以使用自定义时间戳提取器从值中返回时间戳,即实现 TimestampExtractor 接口(interface)并通过 default.timestamp.extractor 配置参数指定您的类(比照 https://docs.confluent.io/current/streams/developer-guide/config-streams.html#default-timestamp-extractor )

这允许您通过以下方式根据提取的时间戳使用翻滚时间窗口:

groupBy(...).windowedBy(TimeWindows.of(Duration.ofDays(5))).aggregate(...)

有关更多详细信息,请参阅文档:https://docs.confluent.io/current/streams/developer-guide/dsl-api.html#tumbling-time-windows

关于java - 卡夫卡流-按值属性分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60625034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com