Apache Nifi - 如何指定分区以从 Kafka Consumer 中读取数据

Apache Nifi - How to specify partition to read data from in Kafka Consumer

用例: 我们为多模式配置了金门卡夫卡大数据适配器。 每个模式都映射到 1 个分区,kafka 分区程序根据定义的映射发布消息。喜欢 schema1=1(Partition#1),schema2=2 .. scheman=n

这样所有模式的消息都隔离在各自的分区中。

问题: 在这种情况下,我想配置 Apachi Nifi 节点的 1 个实例来处理 kafka 主题的 1 个分区。这样,我将配置 100 个 Nifi 实例 运行 并行处理 100 个 kafka 分区。

但是我没有看到任何可以在 KafkaConsumer 中指定分区的地方

问题:

  1. Apache Nifi kafka 消费者是否支持分区配置?
  2. 如果不支持,是否在未来发布的路线图中?

卡夫卡版本:0.10.1.1 Apache Nifi 版本:1.4.0

目前您无法指定要从中消费的分区,它由 Apache Kafka 客户端自动确定,确保只有一个消费者组中的一个消费者被分配给给定的分区。基本上,单个消费者可以从多个分区消费,但不同的消费者不能从同一个分区消费。

因此,如果您在同一个 NiFi 实例中有 100 个 ConsumeKafka 处理器,并且它们都具有相同的消费者组,那么每个处理器将分配 100 个分区中的 1 个。

我可以看到将来可能将 属性 暴露给 select 分区的价值。

此外,您可能希望 ConsumeKafka_0_10 与 Kafka 0.10.1.1 一起使用,ConsumeKafka 使用 0.9 客户端,通常最好使用与代理对齐的客户端。