我想处理kafka消息,考虑到eventTime,我接收非线性格式的数据 我想在收到以下 JSON 格式的消息后向新主题生成消息,并且如果我得到一个条件,即
eventTime
到 eventTime - 1min
之间的所有消息都满足 abs(valueA - ValueB) > 10
的条件
"UserID":222,"eventTime":04-03-2024 12:13:48,"ValueA":90,"ValueB":71
"UserID":222,"eventTime":04-03-2024 12:13:44,"ValueA":94,"ValueB":66
"UserID":222,"eventTime":04-03-2024 12:13:47,"ValueA":92,"ValueB":65
"UserID":222,"eventTime":04-03-2024 12:13:46,"ValueA":99,"ValueB":65
"UserID":222,"eventTime":04-03-2024 12:13:45,"ValueA":80,"ValueB":70
请针对此问题建议任何客户端库/流处理框架
我尝试了redis缓存机制,但数据没有用eventTime键排序
这似乎是 Flink 内置 Windowing 功能的一个相当标准的用例,它支持不同类型的预构建窗口策略(翻滚、滑动、会话、自定义等)以及对窗口内的评估,以便您可以控制从它们发出的内容。
它还根据您的需求支持键控和非键控(特别是在并行处理方面,例如您需要在“用户”级别而不是针对更大的群体执行相同的操作符。
在这种情况下,您可能会考虑:
eventTime
指定为用于窗口目的的属性UserId
根据您的需求,有很多方法可以实现这一点,但 Flink 无疑是一个强大的工具。