我当前正在使用Kafka流DSL抑制功能来显示日窗。我们可能会遇到这样的情况,其中某些事件可能会在宽限期之后很晚才发生。
根据kafka流媒体文档,此类事件将被丢弃,不适合窗口。
请帮帮我。
1)是否有可能在同一流程中掌握此类丢弃的事件?
Apache flink确实提供了此类非常晚的事件的保存,并且想知道此类功能是否可以在流媒体中使用。
2)考虑到数百万个事件流经系统,用DSL抑制间歇性聚合数据在内存中的可行性,对于天窗而言,如何可行?
任何时间表Kafka流媒体社区都将尽快提供rockDB支持,以避免由于内存不足而导致应用程序崩溃。
答案 0 :(得分:1)
我当前正在使用kafka流DSL抑制功能来显示日窗。我们可能会遇到一些情况,在宽限期之外,某些事件可能会非常晚。
根据kafka流媒体文档,此类事件将被丢弃,不适合窗口。 [...]
1)是否有可能在同一流程中保留此类丢弃的事件?
您需要增加宽限期。宽限期的要点是允许您定义您可以接受(非常)晚的事件到达多长时间。宽限期实际上可以比窗口大小长-我之所以提及是因为您提到了“它不适合窗口”。
在我看来,您好像要接受较晚的事件,但是您不想增加宽限期。为什么?
Apache flink确实提供了此类非常晚的事件的保存,并且想知道此类功能是否可以在流媒体中使用。
如果您的意思是:在Kafka Streams中是否有类似回调的事件,那么答案是否定的。
2)考虑到系统中有数百万个事件流,用DSL抑制间歇性聚合数据在内存中的可行性,对于天窗而言,如何可行?
任何时间表Kafka流媒体社区都将尽快提供rockDB支持,以避免由于内存不足而导致应用程序崩溃。
对于其他读者:RocksDB已经被支持,并且是Kafka Streams中所有有状态操作的默认状态存储引擎。唯一的例外是Supress()功能的当前实现,其中抑制缓冲区尚未通过RocksDB维护。
关于您的问题:KAFKA-7224: Add spill-to-disk for Suppression的开发工作正在进行中,但是确切的ETA尚不清楚。