有没有办法在Kafka流中重新分配输入主题?

der*_*rry 2 apache-kafka apache-kafka-streams

我有一个以byte []为关键字的主题,我想对其重新分区并通过邮件正文中字段中的另一个关键字来处理该主题。

我发现有KGroupedStreamgroupby功能。但是它要求聚合函数转换为KTable / KStream。我不需要汇总。我只想重新分区并处理输出。

Mat*_*Sax 5

是的你可以。您设置一个新密钥,然后通过另一个主题通过管道传递数据。

KStream stream = ...
KStream repartionedStream = stream.selectKey(...)
                                  .through("topic-name");
Run Code Online (Sandbox Code Playgroud)

请注意,在使用through()所需数量的分区启动应用程序之前,需要创建使用的主题。