apache beam kafka源连接器空闲分区问题与“customtimestamppolicywithlimiteddelay”

jhiyze9q  于 2021-07-15  发布在  Flink
关注(0)|答案(0)|浏览(240)

来源是Kafka为我们的光束管道。apachebeam的kafkaio连接器支持水印的移动(在flinkrunner的情况下),即使任何分区处于空闲状态。希望基于包含在有效负载中的数据包的时间戳来处理数据包的应用程序将希望使用“customtimestamppolicywithlimiteddelay”。我们使用一分钟的固定窗口进行聚合,这取决于时间的概念。所以,如果时间没有适当地提前,聚合函数就不会被调用,数据就会丢失。
此api存在功能问题。因此,在初始化应用程序时,让我们举个例子,将主题a用作具有三个分区的源。为了重现这一问题,采取了以下步骤:
将数据以任意x秒的频率泵送到一个分区,即使在几分钟后也不会调用聚合函数。
现在,将数据泵送到所有分区,并按预期在分钟结束时调用聚合函数。
现在只把数据抽到一个分区,而且也不要抽到前一分钟的末尾,这样我们就可以生成一个空闲分区的场景,并且观察到它现在是按预期工作的。
所以总结一下,这个api有一个初始化问题,它没有提前时间,但是在第2步之后,它会稳定下来并按预期工作。
这是很容易复制,并要求Apache梁来解决这个问题。
到目前为止,我们所使用的临时补丁是logappendtime,它可以完美地工作,但是由于各种应用程序的需要,我们不希望在代理时间处理数据包。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题