gpt4 book ai didi

java - 卡夫卡 : Bounded Batch Processing in Parallel

转载 作者:行者123 更新时间:2023-12-02 11:16:38 26 4
gpt4 key购买 nike

我想使用 Kafka 执行有界批处理,程序将知道何时处理最后一条记录。

批处理:

  • 读取平面文件
  • 将每一行作为消息发送到 Kafka

卡夫卡监听器:

  • 使用来自 Kafka 的消息
  • 将记录插入数据库
  • 如果是最后一条记录,则在数据库中将批处理作业标记为已完成。

一种方法可能是使用单个 Kafka 分区,假设保证 FIFO(先进先出),并使批处理程序发送 isLastRecord 标志。

但是,这意味着处理将仅限于单线程(单个消费者)。

问题

有没有办法通过利用多个 Kafka 分区来实现并行处理?

最佳答案

如果您需要每个文件的有序保证,则只能使用单个分区。

如果您有多个文件,则可以为不同的文件使用不同的分区。

如果文件中的每一行都是数据库中的插入,我想知道您是否首先需要按顺序保证,或者是否可以按任何顺序插入所有记录/行?

一个更基本的问题是:为什么需要先将数据放入Kafka?为什么不直接读取文件并插入呢?

关于java - 卡夫卡 : Bounded Batch Processing in Parallel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com