繁体   English   中英

跨Kafka分区对消息进行排序并将其放入另一个Kafka主题中

[英]Sort messages across Kafka partitions and put it in another Kafka topic

我有一个带有X分区的 Kafka 主题。 每条消息都有一个时间戳ts 有人可以建议我通过某种方式对所有分区中的所有消息(基于ts )进行排序,并将其放入具有Y分区的新主题中( Y < X ,其中Y也可以是 1)?

在此操作期间,不会向原始 Kafka 主题添加新数据。 我试图避免将所有数据缓冲到临时数据存储进行排序。 所以基本上我正在寻找对流数据的X-Way merge

有人可以让我知道这是否可以使用 Kafka Streams API 在 Java 中有效地完成?

根据我上次的经验,这是我最好的建议,因为您不想在一个地方缓冲所有内容,您可以设置一个时间间隔,比如 30 分钟,这样您就可以从分区中提取所有数据,直到在该时间范围内获取数据为止上午 9 点到 9 点 30 分,将其排序并放入目标,接下来开始提取下一个数据,这些数据将从上午 9 点 30 分开始。 尽管在 9:30 数据之后,由于数据延迟,您可能会获得 9:27 数据,因此在处理此批次后,您可能会得到一个 9:29 的数据点和另一个 9:27 的数据点,但是您会发现9:10 到 9:20 之间的所有数据都已排序。 现在,您可以采用的时间范围越高,准确性就越高。 如果您需要 100% 排序,您可能需要使用不同的数据框再次迭代此目标数据以进一步排序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM