如何将kafka匹配数据发送到其他主题

时间:2017-01-06 12:14:10

标签: apache-kafka kafka-consumer-api kafka-producer-api

如何在另一个主题3中推送主题1和主题2之间的匹配数据? 从生产者向消费者发送消息时?

2 个答案:

答案 0 :(得分:1)

我没有使用 Spark ,但我可以给你一些方向 Apache Storm 透视Apache Storm

  1. 使用 topic1 topic2

  2. 构建包含2个 kafka spouts 的拓扑
  3. 在螺栓中使用此数据并比较数据。您可以使用单个螺栓或一系列连续螺栓。您可能需要使用一些持久性即。 mongodbredismemcache之类的内容,具体取决于您的比较逻辑

  4. 将公共数据推送到新的 kafka主题 Send data to kafka from Storm using kafka bolt
  5. 这是非常Apache Storm特定的解决方案,可能不是最理想合适效率的解决方案,但旨在给出一般的想法

    以下是风暴Storm Concepts

    中基本概念的链接

答案 1 :(得分:0)

我已经和Spark合作了六个多月了,是的,这绝对是可能的。说实话,相当简单。但是对于这个问题来说,引发火花有点夸张。 Kafka Streams怎么样?我从来没有和他们合作过,但是这不能解决这个问题吗?

如果你想使用spark: 使用Spark Kafka集成(我使用spark-streaming-kafka-0-10)来使用和生成数据,应该非常简单。而不是在文档中寻找Spark流式Api。

关于2个DStream的简单连接应该可以解决这个问题。如果你想存储不匹配的数据,你可以对它进行窗口化或使用UpdateStateByKey函数。我希望它对某人有帮助。祝你好运:)