我将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中有正确的方法吗?