【问题标题】:Enrich data using Storm bolt or Spark-streaming with MongoDB使用 Storm bolt 或 Spark-streaming 与 MongoDB 丰富数据
【发布时间】:2018-09-28 20:17:22
【问题描述】:

我想创建一个 Storm Spout,它从 Apache Kafka 的主题中读取数据,并将这些数据发送到连接到 MongoDB 的 Storm Bolt,并查询我从 Kafka 收集的消息以丰富数据。例如:我有一个 personID(我是通过来自 Kafka 的消息获得的),我想使用这个 personID 在 MongoDB 中查询这个人的地址。在我的 MongoDB 集合中,每个文档都有 personID 和地址。

谁能给我一个例子,好吗?使用 Spark-streaming 的示例也非常棒。

【问题讨论】:

  • 您打算使用 Storm 还是 Spark Streaming?您可以仅在 Kafka 中完成所有这些工作。如果您有兴趣,我可以在答案中发布详细信息。
  • 我开始使用 spark,但任何解决方案都会很棒。

标签: mongodb apache-kafka spark-streaming apache-storm


【解决方案1】:

我会这样处理:

  1. 将您的数据所有流式传输到 Kafka,包括您的 MongoDB 扩充源(地址等)。您可以使用 Kafka Connect(Apache Kafka 的一部分)来执行此操作。查看这篇文章:Streaming Data from MongoDB into Kafka with Kafka Connect and Debezium
  2. 使用Kafka StreamsKSQL 执行您的数据扩充。 Kafka Streams 是 Apache Kafka 的一部分,是一个 Java API。 KSQL 在 Kafka Streams 之上运行,并为您提供了一个 SQL 接口来声明您的流转换。您可以看到一个示例,包括连接,in this article

    1. KSQL introduction
    2. Kafka Streams introduction
  3. 或者,如果您想将生成的丰富数据存储在其他地方,请使用 Kafka Connect 将其从 Kafka 主题流式传输到目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 2017-01-02
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多