Apache Beam:如何从具有不同消息方案的多个Kafka主题中读取

时间:2019-03-14 08:37:18

标签: java apache-spark apache-kafka google-cloud-dataflow apache-beam

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

0 个答案:

没有答案