4

我使用 Apache Beam KafkaIO 作为管道的来源。

我需要从两个 Kafka 主题 topic1 和 topic2 中读取数据,然后将此输入作为一个输入到后续转换中。

问题是 topic1 和 topic2 包含具有不兼容方案的消息,当我阅读这些消息时,我会将每个主题的消息映射到相同的方案。

所以我要寻找的管道看起来像这样:

<read topic1>       <read topic2>     
     |                   |
<map to Foo>        <map to Foo>
     |                   |
      \                 /
<use same subsequent transforms on Foo>

我发现解决这个问题的一种方法是一次订阅多个主题,withTopics(...)然后确定KafkaRecord<K,V>消息来自哪个主题,然后为其执行映射。

这看起来有点笨拙?在 Apache Beam 中有正确的方法吗?

4

0 回答 0