【问题标题】:User topic management using Kafka Stream Processor API使用 Kafka 流处理器 API 进行用户主题管理
【发布时间】:2018-04-07 17:03:33
【问题描述】:

我刚开始接触卡夫卡。我已经通过this。它只说 kafka 流 DSL 的数据/主题管理。任何人都可以为kafka流的处理器API共享任何相同类型的数据管理链接吗?我对处理器 API 的用户和内部主题管理特别感兴趣。

TopologyBuilder builder = new TopologyBuilder();

// add the source processor node that takes Kafka topic "source-topic" as input
builder.addSource("Source", "source-topic")

在流处理器开始使用输入数据之前,从哪里用输入数据填充此源主题?

简而言之,我们可以使用流写入 kafka“源”主题,就像生产者写入主题一样?还是流仅用于主题的并行消费? 我相信我们应该作为“Kafka 的 Streams API 建立在 Kafka 的生产者和消费者客户端之上”。

【问题讨论】:

  • 你能解释一下你想要达到的具体目标吗?
  • @Subhransu:我想将输入的每一行 Excel 数据作为用户定义主题的单个消息,然后使用流处理将其用于业务逻辑直到接收器。我有数据可以放入源主题,但不知道如何以编程方式进行。
  • 我想我在这里找到了答案in this link
  • 我不明白该解决方案如何指向从 excel 文件编写 kafka 主题。

标签: apache-kafka apache-kafka-streams


【解决方案1】:

是的,您必须使用 KafkaProducer 为提供 KStream 的源主题生成输入。

但是,可以通过

填充中间主题
  • KafkaStreams#to
  • KafkaStreams#through

【讨论】:

    【解决方案2】:

    您可以使用 JXL(Java Excel API) 编写一个生产者,该生产者从 excel 文件写入 kafka 主题。 然后创建一个 kafka 流应用程序来使用该主题并生成另一个主题。 您可以使用 context.getTopic() 来获取处理器正在接收的主题。 然后在 process() 函数中设置多个 if 语句来调用该主题的流程逻辑。

    【讨论】:

    • 您是说使用 kafka 流我们无法写入主题吗?我必须明确写一个kafka生产者?
    • 我的意思是,如果你想从 excel 文件写入 kafka 主题,你应该使用生产者来执行此操作。
    • 我的意思是,如果您想从 excel 文件写入 Kafka 主题,您应该使用生产者来执行此操作。如果你想编写一个 Kafka 流应用程序,你必须从生产者生成的主题中消费,并输出处理后的记录以供进一步分析。您可以使用单个 Kafka 流应用程序或多个 y 启动多个线程来使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2022-06-16
    • 2018-10-11
    相关资源
    最近更新 更多