假设我有两个流:
是否可以使用DSL API或Process API加入流,以便输出包含TimeWindow对象,该对象包含TimeWindow中指定的时间范围内的数字总和?
具体而言,如何在 win.getDuration()中将XXX设置为持续时间存储的位置,其中 win 是ValueJoiner中引用的那个。
timeWindow.join(
numbers,
(ValueJoiner<TimeWindow, Number, TimeWindow>) (win, num) -> win.addToTotal(num),
new JoinWindows(XXX, 0)
).to("output_Topic");
之后的JoinWindows为0,因为TimeWindow的时间戳是结束时间。 XXX持续时间应计算为TimeWindows结束时间 - 以毫秒为单位的开始时间。
非常感谢您的帮助!
答案 0 :(得分:0)
感谢Matthias&#39;我最终回滚使用Processor API与TimestampExtractors的实现和内存状态存储的使用(默认使用RockDB)来实现这个功能。